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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈cc 中级黑马   /  2015-8-10 09:32  /  601 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

负数二进制怎么转成十进制,求指导

9 个回复

倒序浏览
负数有二进制么?
回复 使用道具 举报
不知道是不是你的意思,如果还有疑问的话请加我QQ2355928351
  1. Scanner sc = new Scanner(System.in);
  2.                  String as = sc.nextLine();
  3.                  int aa = Integer.parseInt(as);
  4.                   StringBuffer sbf = toBin(aa);
  5.                   String str = sbf.reverse().toString();
  6.                   System.out.println(str);
  7.                   str = sbf.reverse().toString();
  8.                   String a = Integer.valueOf(str,2).toString();
  9.                   System.out.println(a);
  10.                  }
  11.                  static StringBuffer toBin(int x) {
  12.                   StringBuffer result = new StringBuffer();
  13.                   int n = 0;
  14.                   if(x>=0){
  15.                    n = x;
  16.                    do {
  17.                     result.append(n % 2);
  18.                     n /= 2;
  19.                    } while (n > 0);
  20.                   }else{
  21.                    n=(x*-1^255)+1;
  22.                    do {
  23.                     result.append(n % 2);
  24.                     n /= 2;
  25.                    } while (n > 0);
  26.                     
  27.                   }
  28.                   return result;
  29.                  }
复制代码
回复 使用道具 举报
耀阳圣尊 发表于 2015-8-10 14:32
不知道是不是你的意思,如果还有疑问的话请加我QQ2355928351

我只看到毕老师的前6天,,写的看不懂,我问的其实就是 比如  二进制的110,通过计算比如,1*2E2+1*2E1=6,负数是不是也能这么计算?
回复 使用道具 举报
能不能这样,先判断符号位,就是&0x80之类的,对结果做判断如果是负数,就整体减去1,然后按位取反,获得的二进制数按位乘权值相加得到十进制,然后再取反
回复 使用道具 举报
负数二进制转十进制,你先要想通负数的二进制是怎么算出来的,是由正数的二进制按位取反然后加1得到的
反过来,先减一,然后按位取反,得到正数,然后再取反得到负数,在哪里应用我觉得思路也是这样的
回复 使用道具 举报
还真不会,求解
回复 使用道具 举报
陈cc 中级黑马 2015-8-10 22:17:25
8#
godboy001 发表于 2015-8-10 22:08
负数二进制转十进制,你先要想通负数的二进制是怎么算出来的,是由正数的二进制按位取反然后加1得到的
反过来 ...

好有道理的样子,我再去想想看,多谢大神了
回复 使用道具 举报
谢谢分享~学习了
回复 使用道具 举报
是二进制没有负数,有也只是在转换的时候
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马