计算机科学导论之进制转换(含小数)

进制转换(含小数)

一、其他进制转换为十进制

1.1 二进制转为十进制

  1. 01101
    = 23+22+20=13
    所以:
    (01101)2=(13)10

  2. 111111.111
    (1111111)2 = (25+24+23+21+20)10= (63)10
    (0.111)2=(2-1+2-2+2-3)10=(0.875)10
    所以:
    (1111111)2 = (63.875)10

1.2 十六进制转为十进制

  1. AB2
    = 10*162+11*161+2*160=2738
    所以:
    (AB2)16=(2738)10

  2. 35E.E1
    (35E)16=(3*162+5*161+14*160)10=(562)10
    (0.E1)16=(14*16-1+1*16-2)10=(0.88)10(保留两位小数)
    所以:
    (35E.E1)16=(562.88)10(保留两位小数)

1.3 八进制转为十进制

617.7
(617)8=(6*82+1*81+7*80)10=(399)10
(0.7)8=(7*8-1)10=(0.875)10
所以:
(617.7)8=(399.875)10

2.十进制转为其他进制

2.1 十进制转为二进制

14.56
计算机科学导论之进制转换(含小数)_第1张图片
故 (14)10= (1110)2
计算机科学导论之进制转换(含小数)_第2张图片
故 (0.56)10= (10001)2(保留五位小数)
所以:(14.56)10= (1110.10001)2(保留五位小数)

2.2 十进制转八进制

例:将十进制 11.4 转为八进制
整数部分
计算机科学导论之进制转换(含小数)_第3张图片
小数部分计算机科学导论之进制转换(含小数)_第4张图片
所以:(11.4)10= (13.314)8(保留三位小数)

2.3 十六进制转为十进制

和上面两个类似,整数部分除16取余,直到商为0时停止;小数部分乘16取整数部分,小数部分继续乘16取证,以此下去,直至小数为0为止,如果永远不为0,则选择保留适当小数位数。

3.二进制转为八进制、十六进制

3.1 二进制转为八进制

每三位二进制数为一组,整数部分从右往左分;小数部分从左往右分,如果不足三位则添0凑足三位
例:将二进制11110.01转为八进制
计算机科学导论之进制转换(含小数)_第5张图片
所以:(11110.01)2= (36.2)8

3.2 二进制转为十六进制

每四位二进制数为一组,整数部分从右往左分;小数部分从左往右分,如果不足四位则添0凑足四位
例:将二进制11110.01转为十六进制
计算机科学导论之进制转换(含小数)_第6张图片
所以:(11110.01)2= (1E.4)16

4. 八进制与十六进制相互转换

4.1 八进制转为十六进制

思路:
1.将整数部分和小数部分分别转为二进制表示(即将每位数从八进制转为二进制)
2.整数部分:从右往左,每四位一组,将其转为十六进制
3.小数部分:从左往右,每四位一组,不足四位则补0凑齐四位
例:将八进制13.7转为十六进制
计算机科学导论之进制转换(含小数)_第7张图片
所以:(13.7)8= (B.E)16

4.2 十六进制转为八进制

思路:
1.将十六进制中的每一位数转为二进制
2.整数部分:从右往左每三位二进制数为一组,分别将每组转为八进制
3.小数部分:从左往右每三位二进制数为一组,分别将每组转为八进制,不足三位则凑0补齐
例:将十六进制ABC.D转为八进制
计算机科学导论之进制转换(含小数)_第8张图片
所以:(ABC.D)16= (5274.64)8

你可能感兴趣的:(计算机科学导论,其他,程序人生)