猿问

我想知道用查表法十进制转十六进制一个问题

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是代表什么意思?谢谢~


夜过初晨
浏览 1156回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答