这里的“i < 8”其实是表示数位的有效位长度。你这里打印的结果是C3000000,正好8位有效数位,如果你这里改为 i < 4,他会输出C300, 是4位有效数位,改为 i < 16,会输出C300000000000000是16位有效数位。如果你输入的要转换为16进制的是一个比较大的数,比如:toBin(999999999); 将”i “改为小于10,输出的结果是:FF9CA9B300.所以根据你输入的十进制的数的大小来定义变量”i“的范围。参考如下代码:
class ToBin
{
public static void main(String[] args)
{
toBin(999999999);
System.out.println();
}
public static void toBin(int num)
{
char[] chs = new char[]{'0','1','2','3'
,'4','5','6','7'
,'8','9','A','B'
,'C','D','E','F'};
for (int i=0; i<10; i++)//想问这里面的i<8在这儿是什么意思?
{
int temp = num & 15;
System.out.print(chs[temp]);
num = num>>>4;
}
}
}
输出结果:FF9CA9B300 |