基本概念
- 基数:每一位允许使用的数字符号个数
- 二进制(Binary):基数 2,数字 0和1
- 八进制(Octal):基数 8,数字 0–7
- 十六进制(Hexadecimal):基数 16,数字 0–9, A–F (A=10, B=11, C=12, D=13, E=14, F=15)
1. 十进制 → R 进制(R = 2、8、16)
方法:除 R 取余,倒序排列
步骤:
- 用十进制数不断除以 R
- 记录每次的余数(0 ~ R-1)
- 直到商为 0 为止
- 将余数 从下往上(最后得到的余数在最前面)写出
十六进制时,余数 10~15 要写成 A~F(偶尔也可以a~f)
示例 1:十进制 25 → 二进制(R=2)
25 ÷ 2 = 12 余 1 ↑
12 ÷ 2 = 6 余 0 |
6 ÷ 2 = 3 余 0 |
3 ÷ 2 = 1 余 1 |
1 ÷ 2 = 0 余 1 |
结果:25₁₀ = 11001₂(余数倒序结果)
示例 2:十进制 234 → 八进制(R=8)
234 ÷ 8 = 29 余 2 ↑
29 ÷ 8 = 3 余 5 |
3 ÷ 8 = 0 余 3 |
结果:234₁₀ = 352₈
示例 3:十进制 479 → 十六进制(R=16)
479 ÷ 16 = 29 余 15 (F) ↑
29 ÷ 16 = 1 余 13 (D) |
1 ÷ 16 = 0 余 1 |
结果:479₁₀ = 1DF₁₆
2. R 进制 → 十进制(R = 2、8、16)
方法:按权展开求和
公式:
- 位数位置:从 右向左 从 0 开始编号
十六进制中的 A~F 要先转成 10~15
示例 1:二进制 11001₂ → 十进制
结果:11001₂ = 25₁₀
示例 2:八进制 352₈ → 十进制
结果:352₈ = 234₁₀
示例 3:十六进制 1DF₁₆ → 十进制
(D=13, F=15)
结果:1DF₁₆ = 479₁₀
3. N 进制 → M 进制(2、8、16 之间转换)
统一方法:先转十进制,再转目标进制
为什么?因为十进制是我们最熟悉的“中间桥梁”
通用公式:
3.1 二进制 ↔ 八进制(特殊快捷方法)
二进制 → 八进制: 三位一组(从右向左),每组转成一个八进制数字
- 不够三位时左边补 0
示例:1100101₂ → 八进制
分组: 001 100 101
1 4 5
结果:145₈
八进制 → 二进制: 每位八进制 → 3 位二进制
示例:352₈ → 二进制
3 → 011
5 → 101
2 → 010
结果:011101010₂(可省略前导0 → 11101010₂)
3.2 二进制 ↔ 十六进制(特殊快捷方法)
二进制 → 十六进制: 四位一组(从右向左),每组转成一个十六进制数字
示例:110111101011₂ → 十六进制
分组: 1101 1110 1011
D E B
结果:DEB₁₆
十六进制 → 二进制: 每位十六进制 → 4 位二进制
示例:1DF₁₆ → 二进制
1 → 0001
D → 1101
F → 1111
结果:000111011111₂(→ 111011111₂)