原码、反码、补码&移码图解
【摘要】
一.编码的核心思想
所有编码系统的设计,都在追求连续性和唯一性。 原码,反码和补码的演化,就在不断提高整数编码的这两方面性能。
二.具体解读
(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)