(2) 数据的进制转换
GESP C++三级官方考试大纲中,共有8条考点,本文针对C++(2)号知识点进行总结梳理。
(2)掌握数据的进制转换:二进制、八进制、十进制、十六进制。
计算机中的数据以不同的进制表示。以下是对二进制、八进制、十进制和十六进制的详细介绍及其相互转换的方法。
一、各进制的定义与特点
(一) 二进制(Binary)
- 基数: 2
- 符号:
0
和1
- 特点:
- 是计算机系统的基础语言。
- 易于通过物理电路(高低电平)实现。
- 权值分布: 从右到左,每一位的权值为 (从开始)。
示例: 二进制数 1011
表示 (十进制)。
(二) 八进制(Octal)
- 基数: 8
- 符号:
0, 1, 2, 3, 4, 5, 6, 7
- 特点:
- 是二进制的简化表示,每3个二进制位对应1个八进制位。
- 权值分布: 从右到左,每一位的权值为 (从开始)。
示例: 八进制数 17
表示 (十进制)。
(三) 十进制(Decimal)
- 基数: 10
- 符号:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 特点:
- 是人类日常使用的数字系统。
- 对应权值为 。
示例: 十进制数 156
表示 。
(四) 十六进制(Hexadecimal)
- 基数: 16
- 符号:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
(A~F
对应 10~15) - 特点:
- 是二进制的简化表示,每4个二进制位对应1个十六进制位。
- 权值分布: 从右到左,每一位的权值为 (从开始)。
示例: 十六进制数 1F
表示 (十进制)。
{% include custom/custom-post-content-inner.html %}
二、 进制之间的转换
(一) 二进制与十进制转换
二进制转十进制:
- 按位展开,乘以对应的 ,求和。
- 示例:
1011
转十进制
。
十进制转二进制:
- 使用“除2取余法”,逆序排列余数。
- 示例: 转二进制
余
余
余
余 ,结果:1011
。
(二) 二进制与八进制转换
二进制转八进制:
- 每3位一组(从右到左),不足补0,按组计算。
- 示例:
110101
转八进制
分组:110 101
,分别计算:6
和5
,结果:65
。
八进制转二进制:
- 每个八进制位转换为3位二进制。
- 示例:
65
转二进制6
转二进制为110
,5
转二进制为101
,结果:110101
。
(三) 二进制与十六进制转换
二进制转十六进制:
- 每4位一组(从右到左),不足补0,按组计算。
- 示例:
11010111
转十六进制
分组:1101 0111
,分别计算:D
和7
,结果:D7
。
十六进制转二进制:
- 每个十六进制位转换为4位二进制。
- 示例:
D7
转二进制D
转二进制为1101
,7
转二进制为0111
,结果:11010111
。
(四) 十进制与八进制转换
十进制转八进制:
- 使用“除8取余法”,逆序排列余数。
- 示例: 转八进制
余
余
余 ,结果:234
。
八进制转十进制:
- 按位展开,乘以对应的 ,求和。
- 示例:
234
转十进制
。
(五) 十进制与十六进制转换
十进制转十六进制:
- 使用“除16取余法”,逆序排列余数。
- 示例: 转十六进制
余
余 ,结果:FE
。
十六进制转十进制:
- 按位展开,乘以对应的 ,求和。
- 示例:
FE
转十进制
。
(六) 八进制与十六进制转换
八进制转十六进制:
- 先将八进制转换为二进制,再将二进制转换为十六进制。
- 示例:
65
(八进制) →110101
(二进制) →35
(十六进制)。
十六进制转八进制:
- 先将十六进制转换为二进制,再将二进制转换为八进制。
- 示例:
2F
(十六进制) →00101111
(二进制) →57
(八进制)。
三、总结
转换方向 | 方法 |
---|---|
二进制 → 十进制 | 按位展开,乘以对应的 ,求和。 |
十进制 → 二进制 | 除2取余法,逆序排列。 |
二进制 → 八进制 | 每3位一组,不足补0,按组计算。 |
八进制 → 二进制 | 每个八进制位转换为3位二进制。 |
二进制 → 十六进制 | 每4位一组,不足补0,按组计算。 |
十六进制 → 二进制 | 每个十六进制位转换为4位二进制。 |
十进制 → 八进制 | 除8取余法,逆序排列。 |
八进制 → 十进制 | 按位展开,乘以对应的 ,求和。 |
十进制 → 十六进制 | 除16取余法,逆序排列。 |
十六进制 → 十进制 | 按位展开,乘以对应的 ,求和。 |
这些进制之间的转换是计算机科学中的基础知识,广泛用于计算机编程、网络通信和硬件设计等领域。
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on