| 符号-数值码 |
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位。
原文:http://www.cnblogs.com/sunnykemy/p/4382478.html