在计算机中,符号位和数值位都是用0和1表示,在对机器数进行处理时,必须考虑到符号位的处理,这种考虑的方法就是对符号和数值的编码方法。常见的编码方法有原码、反码和补码3种方法。
一个数X的原码表示为:符号位用0表示正,用1表示负;数值部分为X的绝对值的二进制形式。记X的原码表示为[X]原。
例如:当X=+110001时,则[X]原=0110001。
当X= -110101时,则[X]原=1110001。
在原码中0有两种表现形式:
当X=+0000000时,[X]原=00000000。
当X= -0000000时,[X]原=10000000。
一个数X的反码表示方法为;若X为正数,则其反码和原码相同,若X为负数,在原码的基础上,符号位保持不变,数值位各位取反。记X的反码表示为[X]反。
例如:当X=+1100001时,则[X]原=01100001。[X]反=01100001。
当X= -1100001时,则[X]原=11100001,[X]反=10011110。
在反码表示中,0也可有两种表示形式:
当X=+0时,则[X]反=00000000。
当X = -0时,则[X]反=11111111。
一个数X的补码表示方式为:当X为正数时,则X的补码与X的原码相同;当X为负数时,则X的补码,其符号位与源码相同,其数值位取反加1。记X的补码表示为[X]补。
例如:当X=+1110001,[X]源=01110001,[X]补=01110001。
当X= -1110001,[X]原=11110001,[X]补=10001111。