进制转换
整数部分:
例题:将十进制数546转换为二进制,八进制和十六进制
1. 转换为2进制
技巧:需要记住2的几次方所得的结果
29=512,28=256,27=128,26=,25=32,24=16,23=8,22=4,21=2 ,20=1
十进制546,先找上述最近的数,就是512=29.
546-512=34.离34最近的便是32=25,。再分解34,找到32,34-32=2=21。分解完毕
29 28 27 26 25 24 23 22 21 20
1 0 0 0 1 0 0 0 1 0 =(1000100010)10
将以上的十进制转换为八进制
算法:整数部分从右至左,每三个为一组进行运算,不足补零,补到3位运算
(001000100010)10=(1042)8
将以上的十进制转换为十六进制
算法:整数部分从右至左,每四个为一组进行运算,不足补零,补到4位运算
(001000100010)10=(222)16
附录表:
二进制转八进制 二进制 八进制 000 0 001 1 010 2 011 3 100 4 101 5 110 6 二进制转十六进制
二进制 十六进制0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
111 7 0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
二 小数部分
例题 1:将二进制1101.1011换算成十进制,八进制,十六进制
换算成十进制:
技巧:以小数点为中心,小数点向左为2的0,1,2…….n次方,小数点向右为2的-1,-2,-3…..-n次方
运算:(1101.1011)2=1*23 + 1*22 + 0*21 + 1*20+1*2-1 + 0*2-2 +1*2-3 +1*2-4=(13.6875)10
换算成八进制:
技巧:小数点为中心,小数点向左以3个数为一组进行运算,小数点向右为3个数一组进行运算
(001101.101100)2=(15.54)8
换算成十六进制:
技巧:小数点为中心,小数点向左以4个数为一组进行运算,小数点向右为4个数一组进行运算
(1101.1011)2=(D.B)16
例题2:将十进制13.6875转换成二进制
算法:整数部分做除法,小数部分做乘法
整数部分:除以2,有余数的写余数,直到商为0结束
13/2=6 ------余1
6/2=3 ------余0
3/2=1 ------余1
1/2=0 ------余1 ↑
将运算结果从下到上写:结果为1101
小数部分:乘以2,取整数部分,若整数为1,则减1,在小数部分再进行乘法运算,直到乘积为1结束
0.6875*2=1.375 -----整数为1 (必须减1) ↓
0.375*2=0.75 -----整数为0 (继续运算)
0.75*2=1.5 -----整数为1 (必须减1)
0.5*2=1 ----整数为1 (结束,乘积为1)
将运算结果从上到下写,结果为1011
所以(13.6875)10=(1101.1011)2