基底转换方法
也去浏览 基底转换工具
这个网页讲解一个将整数和小数转换到另一个基数(底)的方法。我们会演示两个转换到基26的例子。这个方法也可以用来转换到其他的基数。
整数的基数转换
若我们用余数来做,整数的基数转换并不困难。
先来一个例子:
将1208转换成以26为基数
(基26有趣,因为英语有26个字母)
为简单起见,我会用 A=1、 B=2、等等(好像电子数据表的列)。我也会用 Z 来代表零。基26的另一个惯例是用 A=0、B=1,直至 Z=25。
看这序列的除数(R 是 余数,余数在下一个除数是不用的):
1208 / 26 = 46 R 12 |
46 / 26 = 1 R 20 |
看看最后的答案(1 R 20),它的意思是 1208/26/26 = 1 (和一些零数),这告诉我们要 在 "262" 的列放一个 "1"!!!
接着我们要将20放在 "261" 的列,最后把1放在个位。
为什么?
因为第一次除数说:
1208 = 46 × 26 + 12
所以12要放在个位,之后我们处理26的第一次方:
46 = 1 × 26 + 20 (所以要将20放在 ×26 的列,将1放在 ×26×26 的列)
262 | 261 | 1s |
---|---|---|
1 | 20 | 12 |
若我们用英语字母便会是这样: ATL
现在我们来检测对不对:
1 × 262 = | 676 |
+ 20 × 26 = | 520 |
+ 12 × 1 = | 12 |
TOTAL: | 1208 |
故此,要转换整数的基数,我们重复将新的数除以新的基数,把结果从右到左写下来
注意:若我们用A=0的方式来写,编码ATL便会变成B__。你来填 ;)
小数点后面怎办?
如果你了解整数的作法,我们可以继续下去看"小数"的做法。
要转换"小数"的基数,我们重复乘以新的基数,把结果从左到右写下来。
让我们尝试用 PI(3.1416……)为例子,把它转换成以26为基数。整数部分很容易,在基26里是 3。接下来我们来做 "小数" 部分:
.1416 × 26 = 3.6816
.6816 × 26 = 17.7216
.7216 × 26 = 18.7616
依此类推……
每次我扔掉整数部分,只乘小数部分。
第一个答案告诉我们要放 3在第一个"小数"列,第二个答案说要放 17在第二个列,依此类推……
答案是:
3 | . | 3 | 17 | 18 | ... |
用英语字母来写是: C.CQR
检验: 3 + 3/26 + 17/262 + 18/263 = 3.141556……,行了!