二进制与其他进制转换详解与实例
一、二进制基础
- 定义:二进制(Base-2)是仅使用0和1表示数值的进制系统。
- 位权:每一位的权重为2的幂次方(从右到左依次为2⁰, 2¹, 2², ...)。
- 示例:二进制数
1011
表示的十进制值为:
[
1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 8 + 0 + 2 + 1 = 11
]
二、二进制与十进制的转换
1. 二进制转十进制
- 方法:按位权展开求和。
- 示例:
- 二进制
1101
→ 十进制:
[
1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 8 + 4 + 0 + 1 = 13
]
- 二进制
2. 十进制转二进制
- 方法:除2取余,逆序排列。
- 步骤:
- 将十进制数除以2,记录余数。
- 重复除以2,直到商为0。
- 余数逆序排列即为二进制结果。
- 示例:
- 十进制
23
→ 二进制:
[
23 \div 2 = 11 \text{ 余 } 1 \
11 \div 2 = 5 \text{ 余 } 1 \
5 \div 2 = 2 \text{ 余 } 1 \
2 \div 2 = 1 \text{ 余 } 0 \
1 \div 2 = 0 \text{ 余 } 1 \
\text{逆序排列余数:} 10111
]
- 十进制
三、二进制与八进制的转换
1. 二进制转八进制
- 方法:将二进制数从右到左每3位分组,不足3位时左侧补0,每组转换为对应八进制数。
- 示例:
- 二进制
1101011
→ 八进制:
[
\text{分组:} 001 \, 101 \, 011 \quad (\text{补0至3位}) \
\text{转换:} 1 \, 5 \, 3 \quad \Rightarrow \text{八进制 } 153
]
- 二进制
2. 八进制转二进制
- 方法:将每位八进制数转换为3位二进制数,拼接结果。
- 示例:
- 八进制
752
→ 二进制:
[
7 \rightarrow 111, \quad 5 \rightarrow 101, \quad 2 \rightarrow 010 \
\text{拼接:} 111101010
]
- 八进制
四、二进制与十六进制的转换
1. 二进制转十六进制
- 方法:将二进制数从右到左每4位分组,不足4位时左侧补0,每组转换为对应十六进制数。
- 示例:
- 二进制
110110111
→ 十六进制:
[
\text{分组:} 0001 \, 1011 \, 0111 \quad (\text{补0至4位}) \
\text{转换:} 1 \, B \, 7 \quad \Rightarrow \text{十六进制 } 1B7
]
- 二进制
2. 十六进制转二进制
- 方法:将每位十六进制数转换为4位二进制数,拼接结果。
- 示例:
- 十六进制
A3F
→ 二进制:
[
A \rightarrow 1010, \quad 3 \rightarrow 0011, \quad F \rightarrow 1111 \
\text{拼接:} 101000111111
]
- 十六进制
五、八进制与十六进制的转换
- 间接方法:通过二进制中转。
- 八进制→十六进制:先转二进制,再分组转十六进制。
- 十六进制→八进制:先转二进制,再分组转八进制。
- 示例:
- 八进制
375
→ 十六进制:
[
375 \rightarrow \text{二进制 } 011111101 \
\text{分组:} 0111 \, 1110 \, 1 \quad (\text{补0至4位}) \
\text{转换:} 7 \, E \, 1 \quad \Rightarrow \text{十六进制 } 7E1
]
- 八进制
六、快速转换技巧
- 二进制分组法:
- 八进制:每3位一组,对应1位八进制数。
- 十六进制:每4位一组,对应1位十六进制数。
- 补零规则:分组时不足位数需左侧补0。
- 对照表记忆:
- 二进制→八进制:
000→0, 001→1, ..., 111→7
- 二进制→十六进制:
0000→0, 0001→1, ..., 1111→F
- 二进制→八进制:
七、实例
| 转换类型 | 示例输入 | 转换步骤 | 结果输出 |
|------------------|------------|-----------------------------------|----------|
| 二进制→十进制 | 1011
| (1×2^3 + 0×2^2 + 1×2^1 + 1×2^0) | 11
|
| 十进制→二进制 | 23
| 除2取余逆序:10111
| 10111
|
| 二进制→八进制 | 1101011
| 分组:001 101 011
→ 153
| 153
|
| 八进制→二进制 | 752
| 转换:7→111, 5→101, 2→010
| 111101010
|
| 二进制→十六进制 | 110110111
| 分组:0001 1011 0111
→ 1B7
| 1B7
|
| 十六进制→二进制 | A3F
| 转换:A→1010, 3→0011, F→1111
| 101000111111
|
八、注意事项
- 分组方向:始终从右到左分组。
- 补零原则:仅在最左侧分组不足时补0。
- 进制范围:
- 二进制:0-1
- 八进制:0-7
- 十六进制:0-9, A-F
通过以上方法和实例,可灵活实现二进制与其他进制之间的转换。