原码、反码、补码&移码图解

举报
野猪佩奇996 发表于 2022/01/23 00:24:40 2022/01/23
【摘要】 一.编码的核心思想 所有编码系统的设计,都在追求连续性和唯一性。 原码,反码和补码的演化,就在不断提高整数编码的这两方面性能。 二.具体解读 (1)原码 原码表示法是整数的一种简单的表示法,符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。 bug1:存在重复0,分别为00000000和10000000bug2:存在...

一.编码的核心思想

所有编码系统的设计,都在追求连续性和唯一性。
原码,反码和补码的演化,就在不断提高整数编码的这两方面性能。

二.具体解读

(1)原码

原码表示法是整数的一种简单的表示法,符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。

bug1:存在重复0,分别为00000000和10000000
bug2:存在两个间断点,分别为
011111111->10000000,即127突变为-0
11111111->000000000,即-127突变为+0

间断点涉及整个范围内的数值连续性,任何的间断点都会导致溢出问题,因此间断点越少越好。

(2)反码

整数的反码可由原码得到,如果是正数,则反码与原码一样;如果是负数,则反码是对它的原码(符号位除外)各位取反而得到的。因此反码只是右半图上下翻转了,bug2中的间断点被修复了,即间断点从2个变成1个。

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。

原文链接:andyguo.blog.csdn.net/article/details/104438845

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。