二进制数第 0位的权值是 2的 0次方,第 1位的权值是 2的 1次方……

所以,设有一个二进制数:0110 0100,转换为 10进制为:

下面是竖式:

0110 0100 换算成 十进制

第 0位 0 * 20 = 0

第 1位 0 * 21 = 0

第 2位 1 * 22 = 4

第 3位 0 * 23 = 0

第 4位 0 * 24 = 0

第 5位 1 * 25 = 32

第 6位 1 * 26 = 64

第 7位 0 * 27 = 0 +

---------------------------

100

用横式计算为:

0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

0乘以多少都是 0,所以我们也可以直接跳过值为 0的位:

1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 100

2.2 八进制数转换为十进制数

八进制就是逢 8进 1。

八进制数采用 0~7这八数来表达一个数。

八进制数第 0位的权值为 8的 0次方,第 1位权值为 8的 1次方,第 2位权值为8的 2次方……

所以,设有一个八进制数:1507,转换为十进制为:

用竖式表示:

1507换算成十进制。

第 0位 7 * 80 = 7

第 1位 0 * 81 = 0

第 2位 5 * 82 = 320

第 3位 1 * 83 = 512 +

--------------------------

839

同样,我们也可以用横式直接计算:

7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

结果是,八进制数 1507 转换成十进制数为 839

2AF5换算成 10进制:

第 0位: 5 * 160 = 5

第 1位: F * 161 = 240

第 2位: A * 162 = 2560

3

第 3位: 2 * 16

= 8192 +

-------------------------------------

10997

直接计算就是:

5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997

(别忘了,在上面的计算中,A表示 10,而 F表示 15)

现在可以看出,所有进制换算成 10进制,关键在于各自的权值不同。

假设有人问你,十进数 1234 为什么是一千二百三十四?你尽可以给他这么一个

算式:

1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 10

0

10进制数转换成二进制数,这是一个连续除 2的过程:

把要转换的数,除以 2,得到商和余数,

将商继续除以 2,直到商为 0。最后将所有余数倒序排列,得到数就是转换结果。

听起来有些糊涂?我们结合例子来说明。比如要转换 6为二进制数。

“把要转换的数,除以 2,得到商和余数”。

那么:

要转换的数是 6,6÷2,得到 商是 3,余 数是 0。(不要告诉我你不会计算 6÷3!)

“将商继续除以 2,直到商为 0……”

现在商是 3,还不是 0,所以继续除以 2。

那就: 3 ÷ 2, 得到商是 1,余数是 1。

“将商继续除以 2,直到商为 0……”

现在商是 1,还不是 0,所以继续除以 2。

那就: 1÷2, 得到商是 0,余数 是 1 (拿笔纸算一下,1÷2是不是商 0余 1!)

“将商继续除以 2,直到商为 0……最后将所有余数倒序排列”

好极!现在商已经是 0。

我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!

6转换成二进制,结果是 110。

把上面的一段改成用表格来表示,则为:

被除数

计算过

商 余数

6 6/2 3 0

3 3/2 1 1

1 1/2 0 1

(在计算机中,÷用 / 来表示)

如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除:

(图:1)

请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将 6转换为二进制

数。

说了半天,我们的转换结果对吗?二进制数 110是 6吗?你已经学会如何将二进

制数转换成 10进制数了,所以请现在就计算一下 110换成 10进制是否就是 6。

3.2 10进制数转换为 8、16进制数

非常开心,10进制数转换成 8进制的方法,和转换为 2进制的方法类似,惟一变化:除数由 2变成 8。

来看一个例子,如何将十进制数 120转换成八进制数。

用表格表示:

被除数

计算过

商 余数

120 120/8 15 0

15 15/8 1 7

1 1/8 0 1

120转换为 8进制,结果为:170。

非常非常开心,10进制数转换成 16进制的方法,和转换