为什么用二进制补码所能表示的数据范围比原码多一个数据单位(为什么8位二进制的补码取值范围是-128~127)
问题:用8位二进制表示机器数[一个符号位]原码表示的范围-127~+127而用其补码表示则是-128 ~ +127 ----> 10000000~01111111,为什么10000000就是表示-128,回答:因为有一位是符号位,所以后7位是数值位。2^7=128,所以正数和负数各有127个(正数0 000 0000 ~ 0 111 1111、负数 1 000 0000),但是机器中是有0的,而且“0”有“+0”和“-0”之分。所以:正数是从 +0 ~ +127,刚好128个数字
原创
2020-06-03 00:23:54 ·
9250 阅读 ·
10 评论