A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱金林 中级黑马   /  2012-10-8 09:23  /  1793 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱金林 于 2012-10-8 17:30 编辑

负数之间的进制怎么转换?比如-1101,-125.-5 怎么转换成其他进制的?
重点说明符号是怎么处理的???
谢谢各位!

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 欢迎15期~~~

查看全部评分

6 个回复

倒序浏览
  1. class ArrayTest7
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //toBin(-6);
  6.                 //toHex(-60);
  7.                 //toBa(60);

  8. //                System.out.println(Integer.toBinaryString(6));
  9. //                System.out.println(Integer.toHexString(6));
  10.         }

  11.         /*
  12.         十进制-->二进制
  13.         */
  14.         public static void toBin(int num)
  15.         {
  16.                 trans(num,1,1);
  17.         }

  18.         /*
  19.         十进制-->八进制
  20.         */
  21.         public static void toBa(int num)
  22.         {
  23.                 trans(num,7,3);
  24.         }
  25.         /*
  26.         十进制-->十六进制
  27.         */
  28.         public static void toHex(int num)
  29.         {
  30.                 trans(num,15,4);
  31.         }

  32.         public static void trans(int num,int base,int offset)
  33.         {

  34.                 if(num==0)
  35.                 {
  36.                         System.out.println(0);
  37.                         return ;
  38.                 }
  39.                 char[] chs = {'0','1','2','3'
  40.                                         ,'4','5','6','7'
  41.                                         ,'8','9','A','B'
  42.                                         ,'C','D','E','F'};
  43.                 char[] arr = new char[32];

  44.                 int pos = arr.length;

  45.                 while(num!=0)
  46.                 {
  47.                         int temp = num & base;
  48.                         arr[--pos] = chs[temp];
  49.                         num = num >>> offset;
  50.                 }

  51.                 for(int x=pos; x<arr.length; x++)
  52.                 {
  53.                         System.out.print(arr[x]);
  54.                 }

  55.                 return ;
  56.         }
  57. }
复制代码
看看吧,用数组容器就行,

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 欢迎15期~~~

查看全部评分

回复 使用道具 举报
和正数一样处理。。。。。。
回复 使用道具 举报
嗯,谢谢各位啦!
回复 使用道具 举报
路过 打酱油咯
回复 使用道具 举报
朱金林 发表于 2012-10-8 17:30
嗯,谢谢各位啦!

如果问题解决,就把帖子修改为已解决
回复 使用道具 举报
看看..............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马