本原创文章版权归甘肃专升本网(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就是补码)。
内容摘要:2025年甘肃专升本各招生院校的招生简章已经发布,其中包含了各校的招生计划的,优思途对各院校招生专业进行了汇总整理,希望能够帮到大家。...
TAGS:甘肃专升本 招生专业内容摘要:各位紧张备考2025甘肃专升本考试的小伙伴们,今天优思途张老师通过分析甘肃专升本计算机科目近年来的试题类型和分值分布,结合趋势预测未来可能的变化,并为考生提供相应的计算机科目备考建议。...
TAGS:甘肃专升本 公共课计算机