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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 iloveyou 于 2014-4-17 01:58 编辑

计算机中整数是由二进制表示的,这个二进制是原码 ,反码,还是补码?
譬如 5&9  System.out.println(5 & 9);---------------输出结果为1
        5|9   System.out.pritnln(5 |9);------------------输出结果为13

1.可否用图例给讲解一下-5在内存中的表示是入下的哪个?
          -5的原码:1000 0000 0000 0000 0000 0000 0000 0101
          -5的反码:1111 1111 1111 1111 1111 1111 1111 1010
          -5的补码:1111 1111 1111 1111 1111 1111 1111 1011
  
2.操作数在内存中是怎么表示的。采用哪种码,正数采用哪一种,负数采用哪一种?

评分

参与人数 1技术分 +1 收起 理由
黑妞~ + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 alucard 于 2014-4-16 22:00 编辑

我画了一个图,你看看是不是明白,代码如下:
  1. class BinTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(5&9);
  6.                 System.out.println(5|9);
  7.                 System.out.println(~(-5));
  8.                 System.out.println(~5);
  9.         }
  10. }
复制代码






回复 使用道具 举报 1 0
总结的真好,谢谢
回复 使用道具 举报
alucard 发表于 2014-4-16 21:58
我画了一个图,你看看是不是明白,代码如下:

解答的不错哦!
回复 使用道具 举报
收藏一下,学习学习,对这个问题一直比较模糊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马