二进制数的原码、反码及补码表示1、机器数与真值机器数:数在机器中的编码表示。真值:一般书写表示的数。机器数中,数值和符号完全数字化。计算机在进行数字运算时,采用把各种符号位和数字位一起编码的方法。常见的有原码、反码及补码表示法。2、原码表示法原码表示法是机器数的一种简单表示法。其符号位用0表示正数,用1表示负数,数值一般用二进制形式表示。[x]原=符号位+绝对值若x=+1100110则[x]原=01100110x=-1100110[x]原=11100110所以用8位二进制数来表示整数原码时,其表示范围:最大数:01111111,为(+127)D最小数:11111111,为(-127)D思考:0的原码有两种表示形式!!3、反码表示法机器数的反码可由原码得到。如果机器数是正数,则机器数的反码与原码一致;若机器数是负数,则机器数的反码是它的原码(符号位除外)的各位取反而得到。即:正数:[x]反=[x]原负数:[x]反=对[x]原除符号外的各位取反若x=+1100110则[x]反=01100110x=-1100110[x]反=100110014、补码表示法机器数的补码也可由原码得到。如果机器数是正数,则机器数的反码与原码一致;若机器数是负数,则机器数的反码是它的原码(符号位除外)的各位取反,并在末位加1而得到。即:反码是作为求补码的中间过程。正数:[x]补=[x]原负数:[x]补=[x]反+1若x=+1100110则[x]补=01100110x=-1100110[x]补=10011010注意:补码的0只有一种表示形式![+0]原=00000000[-0]原=10000000[+0]反=00000000[-0]反=11111111[+0]补=[-0]补=00000000所以用8位二进制数来表示整数补码时,其表示范围:最大数:01111111,为(+127)D最小数:10000000,为(-128)D