1)数值数据的表示
我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。机器数有固定的位数,具体是多少位与机器有关,通常是8位或16位。机器数把真值的符号数字化,通常用最高位表示符号,0表示正,1表示负。例如,假设机器数为8位,最高位是符号位,那么在定点整数的情况下,00101110和10010011的真值分别为十进制数+46和-19。
(2)原码:
一个整数的原码是指:符号位用0或1表示,0表示正,1表示负,数值部分就是该整数的绝对值的二进制表示。
例如:假设机器数的位数是8,那么:[+17]原=00010001 [-39]原=10100111
值得注意的是,由于所以数0的原码不唯一,有“正零”和“负零”之分。
(3)反码
在反码的表示中,正数的表示方法与原码相同;负数的反码是把其原码除符号位以外的各位取反(即0变1,1变0)。通常,用[X]反表示X的反码。例如:
[+45]反 = [+45]原 = 00101101
[-32]原 = 10100000
[-32]反 = 11011111
(4)补码
在补码的表示中,正数的表示方法与原码相同;负数的补码在其反码的最低有效位上加1。通常用[X]补表示X的补码。例如:
[+14]补 = 10100100
[-36]反 = 11011011
[-36]补 = 11011100