为什么32位int最小值是-2^32而不是-(2^32-1)
大家对于正数上限2^32-1一般没有疑问,但是为什么32位int最小值是-2^32而不是-(2^32-1),因为补码等于反码加一,所以拿4位举例,补码为1000无法取到,为了避免浪费由于-7的补码是1001,刚好比1000大1,所以用1000来表示-8。
大家对于正数上限2^32-1一般没有疑问,但是为什么32位int最小值是-2^32而不是-(2^32-1),因为补码等于反码加一,所以拿4位举例,补码为1000无法取到,为了避免浪费由于-7的补码是1001,刚好比1000大1,所以用1000来表示-8。
相关推荐