原码
原码表示法中,数值位用绝对值表示;符号位用“0”表示正号,用“1”表示负号。
例1: X = +0.1101,Y = -0.1101,则 [X]原 = 0.1101,[Y]原 = 1.1101;
例2: X = +1101,Y = -1101,则五位字长的 [X]原 = 01101,[Y]原 = 11101;八位字长的 [X]原 = 00001101,[Y]原 = 00011101
原码的特点
- 最高位为符号位,正数为“0”,负数为“1”;数值位与真值一样,保持不变。
- “0”的原码有两种不同的形式,以整数(8位)为例,[+0]原=00000000,[-0]原=10000000
- 原码容易理解,与代数中正负数的表示接近。
反码
反码表示法中,符号位用“0”表示正号,用“1”表示负号;正数的反码数值位与真值的数值位相同,负数的反码数值位是将真值各位按位取反得到,即 将真值得“0”变成“1”,“1”变成“0”。
例1: X = +0.1101,Y = -0.1101,则 [X]反 = 0.1101,[Y]反 = 1.0010
例2: X = +1101,Y = -1101,则五位字长的 [X]反 = 01101,[Y]反 = 10010;;八位字长的 [X]反 = 00001101,[Y]反 = 11110010
0的反码也有两种不同的表示形式,以整数(8位)为例,[+0]反=00000000,[-0]反=11111111
补码
补码表示法中,符号位用“0”表示正号,用“1”表示负号;正数的补码数值位与真值的数值位相同,负数的补码数值位是将真值各位按位取反,再在最低位加 1 得到
例1: X = +0.1101,Y = -0.1101,则 [X]补 = 0.1101,[Y]补= 1.0011
例2: X = +1101,Y = -1101,则五位字长的 [X]补 = 01101,[Y]补 = 10011;;八位字长的 [X]反 = 00001101,[Y]反 = 11110011
0的补码与原码的补码不同,是唯一的,即[0]补 = 0。
数 | 原码 | 反码 | 补码 |
+0.1101 | 0.1101 | 0.1101 | 0.1101 |
-0.1101 | 1.1101 | 1.0010 | 1.0011 |
+1101 | 01101 | 01101 | 01101 |
-1101 | 11101 | 10010 | 10011 |