
时光倾城为您分享以下优质知识
以下是二进制运算的例题及解析,涵盖加法、减法、乘法、除法及转换方法:
一、二进制加法
规则:0+0=0,0+1=1,1+0=1,1+1=10(向高位进位)
例题:计算 $(10101)_2 + (1001)_2$
1. 将两个数对齐:
```
10101
+ 01001
```
2. 从右到左逐位相加:
- 第0位:1+1=10,进位1,结果0
- 第1位:0+0+1(进位)=1
- 第2位:1+0=1
- 第3位:0+1=1
- 第4位:1+0=1
3. 最终结果:$(10011)_2$
二、二进制减法
规则:0-0=0,1-0=1,1-1=0,0-1=1(向高位借位)
例题:计算 $(10110)_2 - (11110)_2$
1. 将减数取反加1(补码运算):
- $11110$ 取反为 $00001$,加1得 $00010$
2. 对齐后相加:
```
10110
+ 00010
```
3. 逐位相加:
- 第0位:0+0=0
- 第1位:1+0=1
- 第2位:1+0=1
- 第3位:0+1=1
- 第4位:1+0=1
4. 结果:$(10000)_2$(注意符号位)
三、二进制乘法
规则:与十进制类似,按位相乘后相加
例题:计算 $(1011)_2 times (11)_2$
1. 将第二个数拆分为二进制:
- $11 = 1 times 2^1 + 1 times 2^0$
2. 分别相乘:
```
1011
× 11
1011 (1011 × 1)
+10110 (1011 × 10, 左移1位)
```
3. 相加结果:
```
1011
+10110
101001
```
4. 最终结果:$(101001)_2$
四、二进制除法
规则:与十进制类似,按位相除后取余
例题:计算 $(10101010)_2 div (00101010)_2$
1. 对齐后进行长除法:
```
10101010
÷ 00101010
```
2. 逐位计算:
- 商为10,余数为0101010
3. 最终结果:$(10)_2$ 余 $(101010)_2$
五、二进制与十进制转换
方法:
除2取余,逆序排列
- 例如:23 ÷ 2 得余数序列 1,1,1,0,1 → $(10111)_2$
按权展开求和
- 例如:$(10100)_2 = 1×2^4 + 0×2^3 + 1×2^2 + 0×2^1 + 0×2^0 = 20$
六、经典应用示例
计算1的个数:使用 `lowbit`