原码、反码和补码的概念
找出负数的补码、以及负数的补码表示的负数的两种方法
数的补码的常见问题是找一个数的补码,以及根据补码找出它表示的数。
由于正数的补码和原码、反码都是一样的,在十进制和二进制之间转换就可以解决上述两个问题。
难点在负数上面。一个负数的补码是什么,以及一个表示负数的补码到底表示的是哪个负数。
还好,有两种方法可以同时解决这两个问题。
为了演示这两种方法,我们先给出用4个比特进行补码编码的样本:
无符号 | 二级制 | 有符号 |
---|---|---|
7 | 0111 | 7 |
6 | 0110 | 6 |
5 | 0101 | 5 |
4 | 0100 | 4 |
3 | 0011 | 3 |
2 | 0010 | 2 |
1 | 0001 | 1 |
0 | 0000 | 0 |
15 | 1111 | -1 |
14 | 1110 | -2 |
13 | 1101 | -3 |