大家都知道数有正负之分,在计算机中怎么表示这些正负数呢???
现在我们就来拆一对正负数:+8和-8。
那么在计算机中,我们用二进制来表示数,所有的数可以分成两部分。一部分是符号,另一部分是数值,所以用二进制表示出来的数也就有了符号位和数值位之分。如果只表示一个数,我们称之为:真值;既有数又有符号的我们称之为机器码。机器码在计算机中参加运算,为了使运算简单,引入了原码,补码,反码。好多人纠结与他们怎么求解,其实它们三者之间码码相连的。下面来看一下是怎么相连的。
下面是整数的原码,补码,反码变化的规律。
正整数:
原码,补码,反码的符号位固定为0,数值位都是真值。
所以一个正整数的原码,补码,反码是相同的。
负整数
原码,补码,反码的符号位固定为1不变,数值位不相同。
原码的数值位是真值;
反码:原码数值位的每一位二进制数位求反得到;
补码:反码数值位最低位加1得到。
例子:8,-8
8
原码:0 000,1000
反码:0 000,1000
补码:0 000,1000
图解:
-8
原码:1 000,1000
反码:1 111,0111
补码:1 111,1000
图解: