黑马程序员技术交流社区

标题: 第四天数组疑问? [打印本页]

作者: joe520kay    时间: 2015-7-22 12:59
标题: 第四天数组疑问?
毕老师写了个10进制转16进制的方法,有些没看懂,求解答!!!
代码如下:省去main函数和类
        /*
         * 十进制--->十六进制
         */
        public static void toHex(int num){
                StringBuffer sb = new StringBuffer();
                for(int x=0;x<8;x++){    //问题:循环次数为什么设定为8
                        int temp = num & 15;
                        if(temp>9)        //问题:判断条件为什么设定为9?
//                                System.out.println((char)(temp-10+'A'));
                                sb.append((char)(temp-10+'A'));
                        else
//                                System.out.println(temp);
                                sb.append(temp);
                        num = num >>>4;
                }
                System.out.println(sb.reverse());
        }
}


作者: 耀阳圣尊    时间: 2015-7-22 15:22
循环次数是 因为 int是32位的 每四位为一组 所以是8
后面那个大于9是因为十到十五需要用a到f表示

作者: joe520kay    时间: 2015-7-22 15:30
耀阳圣尊 发表于 2015-7-22 15:22
循环次数是 因为 int是32位的 每四位为一组 所以是8
后面那个大于9是因为十到十五需要用a到f表示
...

哦,原来是这样。谢谢了~
作者: 耀阳圣尊    时间: 2015-7-22 15:34
joe520kay 发表于 2015-7-22 15:30
哦,原来是这样。谢谢了~

不客气




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2