一、原码
原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。
求原码:X≥0,则符号位为0,其余照抄;
X≤0,则符号位为1,其余照抄。
【例1】X=+1001001 [X]原 = 01001001
【例2】X=-1001001 [X]原 = 11001001
二、反码
机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作〔X〕反
求反码:若X≥0,符号位为0,其余照抄;
若X≤0,符号位为1,其余按位取反。
【例3】X=+1001001 [X]反 = 01001001
【例4】X=-1001001 [X]反 = 10110110
三、补码
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。
求补码:若X≥0,符号位为0,其余照抄;
若X≤0,符号位为1,其余取反后,最低位加1。
【例5】X=+1001001 [X]补 = 01001001
【例6】X=-1001001 [X]补 = 10110111
一般计算机存储的是补码如果算原码的话就是在知道补码的符号位为1时候这时候需要将补码末尾数字-1之后全部取反得出的数字前面加上负号就是原码
可以反过来验证一下,原码为负数符号位为1 转换为补码的时候需要先将末尾数字+1 然后全部取反。