- UID
- 7241
- 帖子
- 44789
- 积分
- 46882
- 阅读权限
- 90
- 注册时间
- 2005-10-22
- 最后登录
- 2015-6-13
- 在线时间
- 8541 小时
|
十进制转二进制和二进制转十进制的算法是很多初学者头疼的问题,觉得很难掌握。这里,我通过举例说明这两种进制的转换方法。
(一)十进制(整数)转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果。
例1:将405转换成二进制的数。
解:405/2=202余1(注意这个1将写在二进制数的最后面)
202/2=101余0
101/2=50余1
50/2=25余0
25/2=12余1
12/2=6余0
6/2=3余0
3/2=1余1(注意这个1将写在二进制数的最前面)
故405转换成二进制的数为110010101
例2:将302转换成二进制的数。
302/2 = 151 余0 (注意这个0将写在二进制数的最后面)
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0 (注意这个1将写在二进制数的最前面)
故302转换成二进制的数为100101110
(二)二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:1101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
然后:1+2+0
+8+0+32+64=107.
二进制1101011=十进制107.
3Q3Q。 |
|