学习任务:

视频学习补码基础

8位二进制可表示的数据范围是多少?

考考你

计算机表示数据按定长来表示,如果使用8位二进制表示数据,它是有一定的数据范围的,即最大值和最小值,超过最大值则要超出8位二进制,此时将舍掉。

计算机中最高位是符号号,0表示正数,1表示负数,所以最大值为01111111,转成十进制为127。

最小值是多少呢?

按照求最大值的思路应该是11111111,转成十进制为-127。

这个答案是不正确的。

计算机中使用补码来表示数据,我们可以求-127小1的数,如下:

 (-127)+(-1) 
 =  11111111(原) + 10000001(原)
 = 10000001(补)+11111111(补)  
 = 10000000(补)超过8位将舍掉

10000000等于-128吗?应该等于-0才对。

注意:0不分正负,所以计算机规定00000000为0,10000000为-128。

所以8位二进制可表示的数据范围是:-128到127

有个公式可以套用:

8位二进制可表示的数据范围是:-2^7到 2^7 - 1 (负2的7次方到 2的7次方减1)即-128到127

32位二进制可表示的数据范围是:-2^31到 2^31 - 1 (负2的31次方到 2的31次方减1)即-2,147,483,648到2,147,483,647

1、已知某数的原码是10110101,求它的补码和反码。

2、已知某数的补码是11101111,求它的原码。

提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题