十进制转任意进制的通用方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
十进制转任意进制的通用方法是:除x取余倒排法(x代表进制数)。
如:将十进制数76转换成任意进制
1.转成二进制
76 / 2 0
= 38 / 2 0
= 19 / 2 (1)
= 9 / 2 (1)
= 4 / 2 0
= 2 / 2 0
= 1 / 2 (1)
76(10) = 1001100(2)
2.转成八进制
76 / 8 (4)
= 9 / 8 (1)
= 1 / 8 (1)
76(10) = 114(8)
3.转成十六进制
76 / 16 (12)
= 4 / 16 (4)
76(10)=4C(16)
B :二进制数。
Q :八进制数。
D :十进制数。
H :十六进制数。
对于十进制数通常不加后缀,也即十进制数后的字母 D 可省略。
( 1 )将二进制数转换成对应的十进制数
将二进制数转换成对应的十进制数的方法是“按权展开求和”:
利用二进制数按权展开的多项式之和的表达式,取基数为 2 ,逐项相加,其和就是对应的十进制数。
例 1 :将二进制数 1011.1 转换成对应的十进制
解:1011.1B=1×2的3次方+0×2的2次方+1×2的1次方+1×2的0次方+1×2的-1次方
=8+0+2+1+0.5
=11.5D
(2 )将二进制数转换为对应的八进制数
由于 1 位八进制数对应 3 位二进制数,所以二进制数转换成八进制数时,只要以小数点为界,整数部分向左,小数部分向右每 3 位分成一组,各组用对
应的 1 位八进制数字表示,即可得到对应的八进制数值。最左最右端分组不足 3 位时,可用 0 补足。
例:将 1101101.10101B 转换成对应的八进制数。
解:
所以, 1101101.10101B = 155.52Q 。
同理,用相反的方法可以将八进制数转换成对应的二进制数。
(3 )将二进制数转为对应的十六进制数
由于 1 位十六进制数对应 4 位二进制数,所以二进制数转换为十六进制时,只要以小数点为界,整数部分向左,小数部分向右每 4 位分成一组,各组用对应的 1 位十六进制数字表示,即可得到对应的十六进制数值。两端的分组不足 4 位时,用 0 补足。
例:将 1101101.10101B 转换成对应的十六进制数
解:
所以 1101101.10101B = 6D.8AH 。
同理,用相反的方法可以将十六进制数转换成对应的二进制数。
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
以下简介各种进制之间的转换方法:
一、二进制转换十进制
例:二进制“1101100”
1101100 ←二进制数
6543210 ←排位方法
例如二进制换算十进制的算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑ ↑
说明:2代表进制,后面的数是次方(从右往左数,以0开始)
=64+32+0+8+4+0+0
=108
二、二进制换算八进制
例:二进制的“10110111011”
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673
三、二进制转换十六进制
十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:
0101 1011 1011
运算为:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由于10为A,所以11即B)
1011 = 8+2+1 = 11(由于10为A,所以11即B)
结果为:5BB
四、二进制数转换为十进制数
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:0110 0100,转换为10进制为:
计算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
五、八进制数转换为十进制数
八进制就是逢8进1。
八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:
计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
结果是,八进制数 1507 转换成十进制数为 839
六、十六进制转换十进制
例:2AF5换算成10进制
直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)、
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。