把十进制数换成b进制,就是不断除以b,再把余数从下往上读。这些余数就是新数的各位数码。
为什么连除法行得通?
五进制的213₅ 表示2 × 25 + 1 × 5 + 3。把它除以5,余数是个位的3,商是2 × 5 + 1 = 11,其余的位都在商里面。
再把11除以5,余数是1,就是五位上的数码,商2是最左边的数码。每除一次,就从右边取走一位。
例题:把137换成八进制
| 算式 | 商 | 余数 |
|---|---|---|
| 137 ÷ 8 | 17 | 1 |
| 17 ÷ 8 | 2 | 1 |
| 2 ÷ 8 | 0 | 2 |
余数从下往上读:137 = 211₈。
检查:2 × 64 + 1 × 8 + 1 = 128 + 8 + 1 = 137。
第二种方法:位值法
八进制的位值有1、8、64、512。512比137大,所以答案有三位。
137里有2个64,剩下137 − 128 = 9。9里有1个8,剩下1。最后是1个1。数码依次是2、1、1,同样得到211₈。
哪种方法顺手就用哪种,有时间就用另一种检查。
最常见的错误
第一个错误是把余数从上往下读。137的余数如果这样读,会写成112₈,它等于64 + 8 + 2 = 74,不是137。
第二个错误是商刚小于进制就停下来。137 ÷ 8 = 17余1,17 ÷ 8 = 2余1,如果在商2时就停止,会写成11₈,少了最左边的2。要一直除到商为0。
| 错误做法 | 正确做法 | |
|---|---|---|
| 读余数 | 从上往下:112₈ | 从下往上:211₈ |
| 何时停止 | 商小于进制就停 | 商变成0才停 |
| 换回十进制 | 74 | 137 |
含有0的数码
把130换成五进制:130 ÷ 5 = 26余0,26 ÷ 5 = 5余1,5 ÷ 5 = 1余0,1 ÷ 5 = 0余1。
从下往上读是1010₅。两个0都要写,检查:125 + 0 + 5 + 0 = 130。
自测题
把75换成四进制,并换回十进制检查。
答案
75 ÷ 4 = 18余3,18 ÷ 4 = 4余2,4 ÷ 4 = 1余0,1 ÷ 4 = 0余1。
从下往上读是1023₄。
检查:1 × 64 + 0 × 16 + 2 × 4 + 3 = 64 + 8 + 3 = 75。
接下来学什么?
题目要你从二进制换到五进制时,要先转成十进制,所以这一课是那条路线的前半段。接着学非十进制之间的换算,再学检查进制换算中的位值错误。
想让老师看着你换算,可以看一对一线上数学补习。