基底转换方法

也去浏览 基底转换工具

这个网页讲解一个将整数和小数转换到另一个基数(底)的方法。我们会演示两个转换到基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……,行了!