总揽

CPU只能做加法运算,如果想要做减法,那么就要有补码来实现了

image.png

二进制和十进制的转换

二进制转十进制:按权展开求和

  • 说明:把二进制数从右到左,依次乘以 20,21,222^0, 2^1, 2^2 ...,然后相加。
  • 示例:
1012=(1×22)+(0×21)+(1×20)=4+0+1=5101_2 = \left(1\times 2^2\right) + \left(0\times 2^1\right) + \left(1\times 2^0\right) = 4 + 0 + 1 = 5

十进制转二进制:除 2 取余,逆序排列

说明:不断除以 2 直到商为 0,把每次得到的余数从下往上倒着写。

示例:十进制 5

5÷2=2 余 12÷2=1 余 01÷2=0 余 1\begin{aligned} 5 \div 2 &= 2\ \text{余}\ 1 \\ 2 \div 2 &= 1\ \text{余}\ 0 \\ 1 \div 2 &= 0\ \text{余}\ 1 \end{aligned}

余数逆序写:

余数: 1, 0, 1    1012\text{余数}:\ 1,\ 0,\ 1 \;\Rightarrow\; 101_2

为何需要补码

1a2381367a401c_a2a2f67b17f9572bcd11fea6d76c80fb.PNG

怎么区分原码、反码、补码

1a2381367a401c_2aa07953f8c26ddf5b38f51aca73ca28.PNG

怎么求一个负数的补码

1a2381367a401c_a23652a0c5bd4847559374931e2a5a7d.PNG

补码加法的例子

1a2381367a401c_8c71870f0f5fbbfb0f9718362c64ab50.PNG

8位表示范围、总结

1a2381367a401c_c29c54488fe9fe2623ea0f79f222ae34.PNG