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