
面试李组长为您分享以下优质知识
二进制转八进制可通过两种主要方法实现: 分组转换法和 位权展开法。以下是具体说明及示例:
一、分组转换法(取三合一法)
- 从右向左每3位二进制数分为一组,不足3位时在左侧补0。 - 将每组二进制数转换为对应的八进制数,按顺序拼接。 - 示例:
- 二进制数 `1101001` 转换为八进制:
- 分组为 `001`、`100`、`1` → 八进制为 `151`,结果为 `(151)_8`。
- 从小数点向右每3位二进制数分为一组,不足3位时在右侧补0。 - 将每组二进制数转换为对应的八进制数,按顺序拼接。 - 示例:
- 二进制数 `101.1101` 转换为八进制:
- 分组为 `101`、`110`、`100` → 八进制为 `564`,结果为 `(564)_8`。
二、位权展开法(除8取余法)
- 将二进制数按权展开(从右往左,次方从0开始),计算每一位的值并求和。 - 示例:
- 二进制数 `1101` 转换为十进制:
- (1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 8 + 4 + 0 + 1 = 13_{10})。
- 将二进制小数按权展开(从左往右,次方从-1开始),计算每一位的值并求和。 - 示例:
- 二进制小数 `0.101` 转换为十进制:
- (1 times 2^{-1} + 0 times 2^{-2} + 1 times 2^{-3} = 0.5 + 0 + 0.125 = 0.625_{10})。
总结
分组转换法更直观,适合手动计算;
位权展开法与十进制转换原理一致,适合理解进制转换逻辑。- 两种方法均可处理整数和小数部分,需根据具体需求选择。