public?static?void?toHex(int?num)
{
char[]?str={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//制表,自動帶下標(biāo)0-15
char[]?arr=new?char[8];//最大值8
int?pos=arr.length;//pos作下標(biāo)指針用
while(num!=0)//每次位運(yùn)算右移動4位,判斷為0時(shí)停止,非0時(shí)繼續(xù)
{
int?temp=num&15;//每次取數(shù)的2進(jìn)制的最右邊4位
arr[--pos]=str[temp];//下標(biāo)先-1,防止下標(biāo)越界,從最大下標(biāo)依次減減存入,反向存儲
num=num>>>4;//無符號右移
}
//存儲數(shù)據(jù)arr數(shù)組的遍歷。
for(int?x=pos;x<arr.lenth;x++)//遍歷正向輸出
{
System.out.print(arr[x]+",");
}
}那個(gè)char[]?arr=new?char[8];//最大值8
為什么最大值8?或者說這個(gè)8是代表什么意思?謝謝~
添加回答
舉報(bào)
0/150
提交
取消