Course playlist
数据进制转换教程
掌握二进制、八进制、十进制、十六进制的相互转换原理与方法
进制系统简介
进制(基数)是表示数字的系统,它定义了数字的表示方法和运算规则。计算机科学中常用的进制有二进制(基数为2)、八进制(基数为8)、十进制(基数为10)和十六进制(基数为16)。
为什么需要不同的进制?
不同进制在不同场景下各有优势:
- 二进制:计算机硬件的基础,只有0和1两种状态
- 八进制:早期计算机系统常用,便于与二进制转换
- 十进制:人类日常使用的计数系统
- 十六进制:现代计算机科学常用,能够简洁表示二进制数据
掌握这些进制之间的转换方法对于理解计算机底层原理、进行程序调试和数据分析至关重要。
二进制系统
定义:二进制是基数为2的计数系统,只使用两个数字:0和1。每个二进制位称为一个比特(bit)。
二进制的特点
- 只有两个数字符号:0和1
- 逢2进1,借1当2
- 权值为2的幂次(... 2³ 2² 2¹ 2⁰ ...)
- 是计算机硬件实现的基础(电路的通断、高低电平)
二进制表示示例
例子1:二进制数 1011 转换为十进制
计算:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11
例子2:十进制数 13 转换为二进制
计算:13 ÷ 2 = 6 余 1,6 ÷ 2 = 3 余 0,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1
从下往上读取余数:1101
二进制的重要性:
- 所有数字数据在计算机中都以二进制形式存储
- 二进制运算简单,易于用电子电路实现
- 二进制逻辑是布尔代数和数字电路的基础
八进制系统
定义:八进制是基数为8的计数系统,使用数字0-7。每个八进制位可以精确表示3个二进制位。
八进制的特点
- 使用八个数字符号:0, 1, 2, 3, 4, 5, 6, 7
- 逢8进1,借1当8
- 权值为8的幂次(... 8³ 8² 8¹ 8⁰ ...)
- 与二进制转换简单(每3位二进制对应1位八进制)
八进制与二进制的快速转换
例子1:二进制数 101110 转换为八进制
步骤:从右向左每3位一组(不足补0)→ 101 110 → 对应八进制:5 6
结果:56₈
例子2:八进制数 74₈ 转换为二进制
步骤:7 → 111,4 → 100,合并:111100
十进制系统
定义:十进制是基数为10的计数系统,使用数字0-9。这是人类日常生活中最常用的计数系统。
十进制的特点
- 使用十个数字符号:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 逢10进1,借1当10
- 权值为10的幂次(... 10³ 10² 10¹ 10⁰ ...)
- 是人类自然形成的计数系统(可能与人有10个手指有关)
十进制与其他进制的转换
例子1:十进制数 255 转换为十六进制
计算:255 ÷ 16 = 15 余 15(F),15 ÷ 16 = 0 余 15(F)
从下往上读取余数:FF₁₆
例子2:二进制数 1100101 转换为十进制
计算:1×2⁶ + 1×2⁵ + 0×2⁴ + 0×2³ + 1×2² + 0×2¹ + 1×2⁰ = 64 + 32 + 0 + 0 + 4 + 0 + 1 = 101
十进制与其他进制的转换方法:
- 其他进制转十进制:按权展开求和
- 十进制转其他进制:除基取余法(整数部分),乘基取整法(小数部分)
十六进制系统
定义:十六进制是基数为16的计数系统,使用数字0-9和字母A-F(或a-f)。每个十六进制位可以精确表示4个二进制位。
十六进制的特点
- 使用十六个符号:0-9, A(10), B(11), C(12), D(13), E(14), F(15)
- 逢16进1,借1当16
- 权值为16的幂次(... 16³ 16² 16¹ 16⁰ ...)
- 与二进制转换非常方便(每4位二进制对应1位十六进制)
十六进制与二进制的快速转换
例子1:二进制数 110110101 转换为十六进制
步骤:从右向左每4位一组(不足补0)→ 1 1011 0101 → 0001 1011 0101 → 对应十六进制:1 B 5
结果:1B5₁₆
例子2:十六进制数 A3F₁₆ 转换为二进制
步骤:A → 1010,3 → 0011,F → 1111,合并:101000111111
进制表示法比较
下面比较0-20在不同进制下的表示:
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 17 | 10001 | 21 | 11 |
| 18 | 10010 | 22 | 12 |
| 19 | 10011 | 23 | 13 |
| 20 | 10100 | 24 | 14 |
快速转换技巧
转换方法详解
1. 十进制转换为其他进制(整数部分)
示例:将十进制数 173 转换为二进制
使用"除2取余法":
173 ÷ 2 = 86 余 1
86 ÷ 2 = 43 余 0
43 ÷ 2 = 21 余 1
21 ÷ 2 = 10 余 1
10 ÷ 2 = 5 余 0
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
从下往上读取余数:10101101
2. 其他进制转换为十进制
示例:将十六进制数 2A7₁₆ 转换为十进制
使用"按权展开法":
2×16² + A(10)×16¹ + 7×16⁰ = 2×256 + 10×16 + 7×1 = 512 + 160 + 7 = 679
3. 二进制与八进制/十六进制快速转换
二进制转十六进制:
二进制:11010111001
从右向左每4位分组:110 1011 1001 → 0110 1011 1001(左侧补0)
对应十六进制:6 B 9
结果:6B9₁₆
进制转换测试题
1. 二进制数 110101 对应的十进制数是多少?
2. 十六进制数 FF₁₆ 对应的二进制数是多少?
3. 十进制数 128 对应的八进制数是多少?
进制转换器
使用下面的工具进行任意进制之间的转换:
| 题目 | 对/错/率 | 难度 | 记录 | 通过 |
|---|
| 姓名 | 分数 | 提交时间 | 操作 |
|---|