补码10000000表示多大?补码10000000的原码是多少啊,还是10000000吗,补码10000000的大小表示多少啊,是-128吗,最高位不是符号位吗?怎么能参与计算呢,我搞糊涂了,求教

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 23:32:20

补码10000000表示多大?补码10000000的原码是多少啊,还是10000000吗,补码10000000的大小表示多少啊,是-128吗,最高位不是符号位吗?怎么能参与计算呢,我搞糊涂了,求教
补码10000000表示多大?
补码10000000的原码是多少啊,还是10000000吗,补码10000000的大小表示多少啊,是-128吗,最高位不是符号位吗?怎么能参与计算呢,我搞糊涂了,求教

补码10000000表示多大?补码10000000的原码是多少啊,还是10000000吗,补码10000000的大小表示多少啊,是-128吗,最高位不是符号位吗?怎么能参与计算呢,我搞糊涂了,求教
你的问题可以这样解决
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
你可能会问 :
10000000这个补码表示的哪个数的补码呢?
其实这是一个规定,这个数表示的是-128
所以n位补码能表示的范围是
-2^(n-1)到2^(n-1)-1
比n位原码能表示的数多一个
到这里你可能已经了解得差不多了,但还是有点迷糊,那再举些说明的例子:
-0.1101
原码:1.1101
反码:1.0010 //负数时,反码为原码取反
补码:1.0011 //负数时,补码为原码取反+1
移码:0.0010 //原数+1
-1011
原码:11011
反码:10100 //负数时,反码为原码取反
补码:10101 //负数时,补码为原码取反+1
移码:00101 //原数+10000
1011
原码:01011
反码:01011 //正数时,反码=原码
补码:01011 //正数时,补码=原码
移码:11011 //原数+10000
0.1101
原码:0.1101
反码:0.1101 //正数时,反码=原码
补码:0.1101 //正数时,补码=原码
移码:1.1101 //原数+1
从以上您 可能已经观察出来了,其实让人不理解的原因在于:
无法用8位的源码表示
这个数的真值是 -2^7
源码的表示范围是 -(2^7 - 1)到 2^7 - 1
补码的表示范围是 -2^7 到 2^7 - 1
补码要多出一个数,而这个数就是你问的10000000
在源码里面00000000和100000000都是表示0
这样比较浪费,在补码里面,就把100000000当做
-2^7 ,以扩大补码表示范围
以上回答希望对你有用