二进制计算
法制格言-
从二进制数的最右数起,最右方的第一个数乘以
2
的
0
次方,第二个数乘以
2
的
1
次方
……
依
次类推,把各结果累计相加就是转换后的十进制数。
< br>
例:
1010=0*2^0+1*2^1+0*2^2+1*2^3=0+2+0+8=10
二进制数转换为十进制数
二进制数第
0
位的权值是
2
的
0
次方,第
1
位的权值是
2
的
1
次方„„
所以,设有一个二进制数:
0110 0100
,转换为
10
进制为:
下面是竖式:
0110 0100
换算成
十进制
第
0
位
0
* 2
= 0
第
1
位
0
* 2
= 0
第
2
位
1
* 2
= 4
第
3
位
0
* 2
= 0
第
4
位
0
* 2
= 0
第
5
位
1
* 2
= 32
第
6
位
1
* 2
= 64
第
7
位
0
* 2
= 0
+
---------------------------
100
用横式计算为:
0 *
2
+ 0 * 2
+ 1 * 2
+ 1 * 2
+ 0 * 2
+ 1 *
2
+ 1 * 2
+ 0 * 2
= 100
0
< br>乘以多少都是
0
,所以我们也可以直接跳过值为
0
的位:
1 *
2
+ 1 * 2
+ 1 *
2
+ 1 * 2
= 100
2
3
5
6
0
p>
1
2
3
4
5
6
7
7
6
5
4
3
< br>2
1
0
八进制数转换为十进制数
八进制就是
逢
8
进
1
。<
/p>
八进制数采用
0
~
7
这八数来表达一个数。
p>
八进制数第
0
位的权值为
< br>8
的
0
次方,第
1
位权值为
8
的
1
次方,第
2
位权值为
p>
8
的
2
次方„„<
/p>
所以,设有一个八进制数:
1507<
/p>
,转换为十进制为:
用竖式表示:
1507
换算成十进制。
第
0
位
7
* 8
= 7
第
1
位
0
* 8
= 0
第
2
位
5
* 8
= 320
第
3
位
1
* 8
= 512
+
3
2
1
0
--------------------------
839
同样,我们也可以用横式直接计算:
7 * 8
+ 0 * 8
+ 5
* 8
+ 1 * 8
839
结果是,八进制数
1507
转换成十进制数为
839
第
3
位:
2 * 16
= 8192
+
-------------------------------------
10997
直接计算就是:
5 *
16
+ F * 16
+ A *
16
+ 2 * 16
= 10997
(
别忘了,在上面的计算中,
A
表
示
10
,而
F
表示
15)
现在可以看出,所有进制换算成
< br>10
进制,关键在于各自的权值不同。
假设有人问你,十进数
1234
为什么是
一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 10
+ 2 *
10
+ 3 * 10
+ 4 *
10
给你一个十进制,比如:
6
p>
,如果将它转换成二进制数呢?
10
进制数转换成二进制数,这是一
个连续除
2
的过程:
把要转换的数,除以
2
,得到商和余数,
将商继续除以
2
,直到商
为
0
。最后将所有余数倒序排列,得到数就是转换结果。
听起来有些糊
涂?我们结合例子来说明。比如要转换
6
为二进制数。
“把要转换的数
,除以
2
,得到商和余数”。
那么:
要转换的数是
6
,
6 ÷ 2,得到商是
3
,余数
是
0
。
(不要告诉我你不会计算6÷3!
)
“将商继续除以
2,
直到商为0„„”
现在商是
3
,还不是
0
,所以继续除以
2
。
那就:
3 ÷ 2, 得到商是
p>
1,
余数是
1
。<
/p>
“将商继
续除以
2
,直到商为0„„”
现在商是
1
,还不是
0
,所以继续除以
2
。
那就:
1 ÷ 2,
得到商是
0
,余数是
1
(拿笔纸算一下,1÷2是不是商
0
余
1!
)
“将商继续除以
2
< br>,直到商为0„„最后将所有余数倒序排列”
好极!现
在商已经是
0
。
我们三次计算依次得到余数分别是:
0
、
< br>1
、
1
,将所有余数倒序排列,
那就是:
110
了!
6
转换成
二进制,结果是
110
。
把上面的一段改成用表格来表示,则为:
被
除
数
6
计
算
过程
6/2
商
3
余数
0
3
2
1
0
p>
0
1
2
3
3
0
1
2
3 =