单极性码 : 只使用一个极性,再加零电平(正极表示0,零电平表示1)
极性码 : 使用两极(正极表示0,负极表示1)
双极性码 : 使用正负两极和零电平
优缺点简评 : 符号数值码####计算不便、0的符号有正负之分;
补码########利于计算机计算、但是不利于人的辨识;
偏移二进制码###符合人的阅读习惯;
BCD码#######便于人的识别,比如89的二进制表示为 1011001 ,则BCD码的表示为 1000 1001,即将8和9分别表示为4位的二进制(这只是举了一个例子)。
双极性码转换表
符号-数值码 | 2的补码 (负数符号位保留、数值码取反,加一 正数补码=反吗=原码) | 偏移二进制码 (符号位取反) | |
+7/8 | 0111 | 0111—>0111 | 1111 |
+6/8 | 0110 | 0110—>0110 | 1110 |
+5/8 | 0101 | 0101—>0101 | 1101 |
+4/8 | 0100 | 0100—>0100 | 1100 |
+3/8 | 0011 | 0011—>0011 | 1011 |
+2/8 | 0010 | 0010—>0010 | 1010 |
+1/8 | 0001 | 0001—>0001 | 1001 |
+0 | 0000 | 0000—>0000 | 1000 |
-0 | 1000 | 1111—>0000 | 0111 |
-1/8 | 1001 | 1110—>1111 | 0110 |
-2/8 | 1010 | 1101—>1110 | 0101 |
-3/8 | 1011 | 1100—>1101 | 0100 |
-4/8 | 1100 | 1011—>1100 | 0011 |
-5/8 | 1101 | 1010—>1011 | 0010 |
-6/8 | 1110 | 1001—>1010 | 0001 |
-7/8 | 1111 | 1000—>1001 | 0000 |
-8/8 | 1000 |
注意:用8位2进制来表示一个数的话,-8的源码为1000 1000,反码为1111 0111,补码为1111 1000 ,根据扩展是符号位向高位扩展的原理,前面的1111是表示负号位的扩展,所以可以直接等于1000,一般都是8位扩展到16位。