什么是双补码整数?

时间:2015-06-11 07:43:41

标签: java types

intshortbyte之类的Java数据类型是两个补码整数,因为它们在here中对其进行了修改。当有人说在java中,intshortbyte是两个补码整数时会给出什么信息?

更新:我想知道为什么2补码优先于其他陈述?

1 个答案:

答案 0 :(得分:2)

它告诉您签名值(+/-)如何以二进制形式表示。

例如

24简单二进制形式是00011000

  • 一个补码是11100111(反转所有位)
  • 通过在1的补码值上加1来计算二的补码

- > 11101000是-24

的两个补码

这就是为什么(作为例子)在java中,字节值的范围是-128 ... 127 在2 ^ 7位置具有“1”的所有值都是负的。