黑马程序员技术交流社区

标题: 关于负数十进制转十六进制的一个功能 请大神指教下哪里错 [打印本页]

作者: yekong262    时间: 2014-1-23 11:14
标题: 关于负数十进制转十六进制的一个功能 请大神指教下哪里错
本帖最后由 yekong262 于 2014-1-23 18:12 编辑
  1. public static void toHex1(int num)
  2.         {
  3.                 StringBuffer rongqi=new StringBuffer();//这里是定义一个临时容器、
  4.                 while (num<0)//负数不断进行与运算并且一直无符号右移动。最后等于0时终止循环。
  5.                 {
  6.                         
  7.                         int temp=num&15;
  8.                         if(temp>9)
  9.                         {
  10.                         char temp1=(char) (temp-10+'A');
  11.                         rongqi.append(temp1);
  12.                         }
  13.                         else
  14.                                 rongqi.append(temp);
  15.                         num=num>>>4;

  16.                 }
  17.                 System.out.print(rongqi.reverse())
复制代码


为什么打印一直是一个。,。,。,  这个到底哪里错了。。假如是-1的话 为什么打印不出来ffffffff....
作者: 黄晓鑫    时间: 2014-1-23 12:34
应该是num!=0吧 楼主
作者: yekong262    时间: 2014-1-23 18:10
黄晓鑫 发表于 2014-1-23 12:34
应该是num!=0吧 楼主

哦,,我知道了 原来是条件定义错了、~




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