为什么unsigned型所能表示的最大整数值比sign要大一倍?

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:05:15
需要详细点,谢谢!

sign所表示的数有符号位,unsigned所表示的没有符号位
举个列子:
unsigned char和signed char
存储空间都是一个字节
unsigned char 表示范围为0000,0000---1111,1111
signed char 表示范围为正数0000,0000----0111,1111
负数1000,0000----1111,1111
最高位为符号位,表示方法为补码二进制表示

你可以看下计算机组成原理里面的,计算机内数据的表示就清楚了

因为sign的最高位为符号位,所以unsigned比sign多一位,二进制多一位就是大一倍

因为unsigned没有正负

大一倍-1,第一位是符号位啊