c语言,为什么正数数值范围都是2的多少次方 减一而负数不用再减一?

日期:2016-12-13 09:04:52 人气:2

c语言,为什么正数数值范围都是2的多少次方 减一而负数不用再减一?

无符号整数,都是从0开始的。因为二进制的存储,只能从0开始到FFFF FFFF FFFF FFFF类似这样的数。也就是说,结果上看见的就是2的n次方-1。 那么有符号的整数呢,除去一个符号位,正数还是从0开始计算的。所以跟无符号整数一样。到了负数,就没有所谓的-0,所以就可以把所谓的-0规定为2的n次方的负数了。从结果上看,就比正数多了那么一个。
    A+
热门评论