一个字节表示数据的范围在看书中有这么一段:字长为八位的寄存器,表示数据范围为:-128 --- +127最小数 1 0 0 0 0 0 0 0最大数 0 1 1 1 1 1 1 1我的疑问是书中说最高位用来存放符号位,0表正,1表负。那最小数的符号位已经被符号数1占住了,并不表示任何数值只表示符号。那最小数应该是-127(应该是1 1 1 1 1 1 1 1).难道最小数中的1又表示符号负数,又表示二进制数1?
网友回答
【答案】 在计算机中,是用补码形势表示二进制数。
正数的补码是其本身;
负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后加1。
所以最小数 1 0 0 0 0 0 0 0 是补码形式;
它的数值绝对值应该是各位取反再加1,即为
0 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 = 128
又因为是负数,所以是 - 128
而最大数 是正数 原码和补码一样 +127