甘肃专升本网 - 515148.COM / 我要无忧升本
关注优思途甘肃专升本网微信公众号
甘肃专升本网抖音账号
甘肃专升本网手机站
甘肃专升本手机APP

甘肃专升本辅导班
    广告
您的位置: 首页 / 复习指导 / 公共计算机 / 详细内容

计算机中原码、补码、反码的作用和区别

2021年02月19日来源:甘肃专升本网作者:张老师 编辑:张老师 投稿

本原创文章版权归甘肃专升本网(www.515148.com)所有,即使我们允许,也不能转载,侵权必究。

计算机中原码、补码、反码的作用和区别

在计算机中,数值数据常有三种不同的码值概念,分别为:原码、反码、补码。三者各有作用。

原码:计算机中的信息都是以二进制形式表示的,数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负)。这就是机器数的原码了。设机器能处理的位数为8。即字长为1byte(8位),原码能表示数值的范围为(-127~-0 + 0~127)共256个。

反码:在两个整数的加法运算中使用原码是没有问题的,但是发现问题出现在带符号位的负数上,对除符号位外的其余各位逐位取反就产生了反码。反码的取值空间和原码相同且一一对应。 

补码:又有新的问题出现在+0和-0上,在人们的计算概念中零是没有正负之分的。于是就引入了补码概念。 负数的补码就是对反码加1,而正数不变,正数的原码反码补码是一样的。在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个。

原码、反码、补码都是有符号定点数的表示方法(日常生活中通常都使用有符号数,定点数对应的就是浮点数,即小数),反码、补码是为了简化二进制数的减法运算;

功能与目的: 

反码:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则;

补码:解决负数加法运算正负零问题,弥补了反码的不足。

总之,反码与补码都是为了解决负数运算问题,跟正数没关系,因此,不管是正整数还是正小数,原码,反码,补码都全部相同。 

总结:

1、正数的原码、补码、反码均为其本身;

2、负数(二进制)的原码、补码、反码公式:反码=原码(除符号位外)每位取反;补码=反码+1;反码=补码 -1;

举例:

在字长为8位的计算机中,-13的绝对值为13,13的二进制为1101。因为字长是八位所以将其补全八位即0000 1101。

则-13的原码为1000 1101(负数的原码将其符号位改为1);

反码为1111 0010(最高位1不变其他的逐位取反);

补码为1111 0011(反码加1就是补码)。

    ------分隔线----------------------------
    ------分隔线----------------------------
      浏览更多热门资讯
    2020年甘肃专升本公共计算机
    2021年甘肃专升本公共计算机网站免费提供2021年甘肃专升本公共计算机,甘肃专升本考试公共计算机等最新信息,欢迎访问甘肃专升本公共计算机栏目获取更多2021年甘肃专升本公共计算机。2021年甘肃专升本公共计算机更新时间:2021-05-01。
    甘肃专升本资源导航
    甘肃专升本网每日一练
    甘肃专升本在线答题
    甘肃专升本网学霸刷题排行榜
    甘肃专升本网VIP专享计划
    甘肃专升本辅导班
      广告
    甘肃专升本网微信公众号