1. 计算机数据表示基础
1.1 进制系统详解
计算机世界的基础是二进制,但实际应用中我们会遇到多种进制表示法。作为网络工程师,理解这些进制及其转换原理至关重要。
- 进制后缀表示法:
- 二进制(Binary):后缀B,如1011B
- 八进制(Octal):后缀O或Q,如17O
- 十进制(Decimal):后缀D或省略,如15D或直接15
- 十六进制(Hexadecimal):后缀H,如FH
注意:为避免混淆,十六进制数若以字母开头时,前面需加0,如0FH而非FH
- R进制通用原则:
每种进制都遵循"逢R进一"的计数规则。例如二进制是逢2进1,十六进制是逢16进1。这个特性决定了不同进制间的数值对应关系。
1.2 进制转换方法论
1.2.1 R进制转十进制(按权展开法)
这是最基础的转换方法,适用于任何进制转十进制。原理是将每位数字乘以其位权值后相加。
操作步骤:
- 确定每位数字和对应的位权(从右向左,小数点前第一位权值为R^0)
- 每位数字乘以其位权值
- 将所有乘积相加得到十进制结果
实例演示:
将二进制数1101.101B转换为十进制:
code复制整数部分:1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13
小数部分:1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 0.5 + 0 + 0.125 = 0.625
最终结果:13.625
1.2.2 十进制转R进制
这个转换需要区分整数部分和小数部分,采用不同的处理方法。
整数部分转换(短除法):
- 用十进制数除以R,记录余数
- 将商继续除以R,直到商为0
- 将余数逆序排列得到结果
小数部分转换(乘R取整法):
- 用小数部分乘以R,取整数部分
- 用新得到的小数部分继续乘以R
- 直到小数部分为0或达到所需精度
- 将整数部分顺序排列
实用技巧:
- 对于二进制转换,可以记住常见2的幂次:2⁰=1, 2¹=2, 2²=4,..., 2¹⁰=1024
- 十六进制与二进制的快速转换:每个十六进制位对应4位二进制
