黑马程序员技术交流社区

标题: 十进制转换为二进制问题 [打印本页]

作者: 逆世界ylm    时间: 2014-12-13 11:37
标题: 十进制转换为二进制问题
  1. /*
  2.         十进制-->十六进制。
  3.         */
  4.         public static void toHex(int num)
  5.         {

  6.                 StringBuffer sb = new StringBuffer();

  7.                 for(int x=0; x<8; x++)//这个循环的意思到底是什么
  8.                 {
  9.                         int temp = num & 15;
  10.                         if(temp>9)
  11.                                 //System.out.println((char)(temp-10+'A'));
  12.                                 sb.append((char)(temp-10+'A'));
  13.                         else
  14.                                 //System.out.println(temp);
  15.                                 sb.append(temp);

  16.                         num  = num >>> 4;
  17.                 }
  18.                 System.out.println(sb.reverse());

  19.         }
复制代码



作者: 逆世界ylm    时间: 2014-12-13 11:39
其中的嵌套for循环的作用求大神深入讲解
作者: sweet凌风    时间: 2014-12-13 11:57
这是基础视频里的吧,有一个更简单的方法,就是输入一个十进制然后以二进制形式输出,再一十六进制输出,但是总出错,你可以试一试
作者: 清诗纪事    时间: 2014-12-13 13:37
逆世界ylm 发表于 2014-12-13 11:39
其中的嵌套for循环的作用求大神深入讲解

for循环的意思是,因为二进制数总共有32位,也就是8个四位的,每次移4位,也就是做多不超过8次,所以就是for(int i=0;i<8;i++)
作者: 逆世界ylm    时间: 2014-12-13 20:32
清诗纪事 发表于 2014-12-13 13:37
for循环的意思是,因为二进制数总共有32位,也就是8个四位的,每次移4位,也就是做多不超过8次,所以就是 ...

嗯嗯。谢谢
作者: 逆世界ylm    时间: 2014-12-13 20:33
sweet凌风 发表于 2014-12-13 11:57
这是基础视频里的吧,有一个更简单的方法,就是输入一个十进制然后以二进制形式输出,再一十六进制输出,但 ...

嗯嗯,好的:)




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