本原创文章版权归甘肃专升本网(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就是补码)。
内容摘要:2024年甘肃专升本考试报名明天结束,还有些你需要做的事。确认是否通过报名审核,下载保存报名表,下载打印准考证,最后的冲刺复习阶段尤为重要...
TAGS:甘肃专升本 报名内容摘要:一定认真看完:2024年甘肃专升本考试考试报名,给你的提示还有注意事项。3月26-29日报名,报名一共四天时间,过期不可补报,小伙伴要尽早完成报名,早报名、早审核、出现问题早解决...
TAGS:甘肃专升本 报名