首页 > 其他 > 详细

关于 -128 的补码问题

时间:2021-06-30 21:09:51      阅读:41      评论:0      收藏:0      [点我收藏+]

在八位二进制下,因为有一位是符号位,原码和反码只能表示0到127,-0到-127,所以-128不能用原码或反码表示。

按这种说法,128因为无法用八位二进制下的原码表示,则-128的八位二进制下的补码也是不存在的。

但是,为了在数的表示上消除编码映射的不唯一性,所以通过人为的定义对转换的10000000强制认定为-128。

因此,-128八位二进制下的原码和反码不存在,而八位二进制下的补码为10000000。

技术分享图片

 

 

技术分享图片

 

 

扩展资料:

1.原码的求法:

(1)对于正数,转化为二进制数,在最前面添加一符号位(这是规定的),用1表示负数,0表示正数。

如:0000 0000是一个字节,其中左边第一个0为符号位,表示是正数,其它七位表示二进制的值.其实,机器不管这些,什么符号位还是值,机器统统看作是值来计算。正数的原码、反码、补码是同一个数。

(2)对于负数,转化为二进制数,前面符号位为1。表示是负数。

计算原码只要在转化的二进制数前面加上相应的符号位就行了.

2.反码的求法:对于负数,将原码各位取反,符号位不变.

3.补码的求法:对于负数,将反码加上二进制的1即可,也就是反码在最后一位上加上1就是补码了。

参考资料:

百度百科-原码

百度百科-反码

百度百科-补码

关于 -128 的补码问题

原文:https://www.cnblogs.com/simba1984/p/14956101.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!