为什么Integer的数据范围不对称

来源:百度知道 编辑:UC知道 时间:2024/05/02 08:44:44
Integer的数据范围是-32768--32767,为什么不是-32768--32768呢?

应为中间 0 占了一位,它是2的16次个数,是用16个二进制位存放的(总65536个)
第一位代表正负,后十五位别是-32768——-1和0——32767.

因为计算机内部的数字采用补码表示有符号整数,凡是负数,绝对值都要加1
计算机表示有符号数有原码、反码和补码

原码和反码表示有符号数都会出现两个0(+0、-0)
用补码表示能充分利用每一位数据,而且也遵循补码运算规则,计算方面

你可以参考下面的资料,更详细的,请参考“微机原理”中的章节