将 R 进制数转换为十进制数可以使用按权展开法。具体步骤如下:
- 确定 R 进制数的每一位的数值。
- 确定每一位的权值,权值的底数是 R,指数与该位和小数点之间的位置有关。当该位位于小数点的左边时,指数是该位与小数点之间数码的个数(从紧邻小数点的数字开始,位置为 0,依次向左递增);当该位位于小数点的右边时,指数是负值,其绝对值是该数与小数点之间数码的个数加 1(从紧邻小数点的数字开始,位置为 - 1,依次向右递减)。
- 将每一位的数值乘以其对应的权值,然后将所有结果相加,得到的和就是对应的十进制数。
和 R 进制整数转十进制的逻辑一致,只是小数部分的 “权” 是R 的负指数,从 -1 开始依次递减(对应小数点后第 1 位、第 2 位……)。
例如,将八进制数77.6转换为十进制数:
==6×8−1+7×80+7×810.75+7+5663.75
再如,将十六进制数A6.E转换为十进制数(其中A表示 10,E表示 14):
==14×16−1+6×160+10×1610.875+6+160166.875
二、十进制 → R 进制(核心:乘 R 取整法)
整数部分用 “除 R 取余法”(倒序取余),小数部分用 “乘 R 取整法”(正序取整),两者结果拼接就是最终 R 进制数。
转换步骤(小数部分):
- 取十进制小数部分,乘以 R,得到一个 “整数部分” 和一个新的 “小数部分”(整数部分要么是 0,要么是 1~R-1,这是 R 进制小数的一位)。
- 把新的小数部分重复步骤 1,继续乘 R 取整数部分,直到:
- 情况 1:小数部分变成 0(转换终止,结果精确);
- 情况 2:小数部分永远不为 0(按题目要求保留几位,通常保留 3~4 位即可,结果是近似值)。
- 把所有 “取到的整数部分” 按先后顺序排列,就是 R 进制的小数部分。
例子 1:十进制小数 0.625 转二进制
- R=2,目标:把
0.625转二进制小数:0.625 × 2 = 1.25→ 整数部分 = 1(二进制小数第 1 位),新小数部分 = 0.25;0.25 × 2 = 0.5→ 整数部分 = 0(二进制小数第 2 位),新小数部分 = 0.5;0.5 × 2 = 1.0→ 整数部分 = 1(二进制小数第 3 位),新小数部分 = 0(终止);
- 小数部分结果:
101,结合整数部分(若整数是 0,就是0.101)。
例子 2:十进制小数 0.7 转二进制(小数部分非 0 终止)
- R=2,
0.7转二进制(保留 4 位):0.7 × 2 = 1.4→ 整数 = 1(第 1 位),新小数 = 0.4;0.4 × 2 = 0.8→ 整数 = 0(第 2 位),新小数 = 0.8;0.8 × 2 = 1.6→ 整数 = 1(第 3 位),新小数 = 0.6;0.6 × 2 = 1.2→ 整数 = 1(第 4 位),新小数 = 0.2(停止);
- 结果:
0.1011(二进制近似值,实际是无限循环小数)。
例子 3:十进制小数 0.3 转八进制(R=8)
- 步骤:
0.3 × 8 = 2.4→ 整数 = 2(第 1 位),新小数 = 0.4;0.4 × 8 = 3.2→ 整数 = 3(第 2 位),新小数 = 0.2;0.2 × 8 = 1.6→ 整数 = 1(第 3 位),新小数 = 0.6;0.6 × 8 = 4.8→ 整数 = 4(第 4 位),新小数 = 0.8(保留 4 位,停止);
- 结果:
0.2314(八进制近似值)。
总结:关键区别
| 转换方向 | 方法核心 | 指数 / 操作重点 |
|---|---|---|
| R 进制小数→十进制 | 按权展开 | 小数位权是 R^(-i)(负指数) |
| 十进制小数→R 进制 | 乘 R 取整 | 正序取整,直到小数为 0 或够位数 |

被折叠的 条评论
为什么被折叠?



