(1)将给定的十进制纯小数乘以基数2,其积的整数部分便是等值二进制纯小数的最高位。
(2)将上一步中乘积的小数部分再除以基数2,所得乘积的整数部分便是次高位。
(3)重复步骤2,直到乘积的小数部分为0,或者达到要求的精确度为止(舍入误差小于最低位对应的数值)。各次乘积的整数部分便是二进制纯小数的各位,最后一次乘积的整数部分是最低位.
例:将十进制数0.78转换为二进制数。舍入误差小于2-8≈4×10-3
看下图二:
图二
此主题相关图片如下:
(0.78)D=(0.11000111)B
3、带小数的十进制数转换为二进制数:
——将其整数部分和小数分开计算,即整数部分用基数除法,小数部分用基数乘法,最后合起来。
例:(267.78)D=(100010011.11000111)B
以上方法可归纳为:
整数部分——除2取余;
小数部分——乘2取整。
另外要注意读数的顺序(即高低位的顺序)。十进制转换为其它进制方法一样,在此不多讲了,如不明白可以联系我.下面就十进制267转八进制说说就OK了,
(267)D=(413)Q
小数就比较麻烦了,当然也可以和上面而二进制一样用乘基数取整法,但太麻烦,所以我建议先转化为二进制再转化为八进制,如0.78D要转换成八进制就得先转换为二进制,再转换为八进制.这样就能以二进制为基础进行扩张转换,那就比较清晰了.
其实本人觉得不管什么进制,如不是很大的数,不管三七二十一先转为二进制再讲,二进制再转换就简单得多了. 如
二进制数转换为八进制和十六进制数
1、二进制转换为八进制:
整数部分,从低位开始,小数部分,从高位开始,每三位一组(不够三位的补0),转换为对应的八进制数。
例:(267.78)D=(100 010 011.110 001 11)2=(423.616)Q
267.78
100 010 011.110 001 11[0]-----补个零
4 2 3 . 6 1 6
2、二进制转换为十六进制:
整数部分,从低位开始,小数部分,从高位开始,每四位一组(不够四位的补0),转换为对应的十六进制数。
例:(267.78)D=(1 0001 0011.1100 0111)2=(113.C7)H
八进制和十六进制转换为二进制:
1、八进制转换为二进制:
将八进制数的每一位分别转换为对应的三位二进制数。
例:(643)Q=(110 100 011)
例: (3 7 . 5 6)Q
011 111 . 101 110
(37.56)Q=(11111.10111)B
2、十六进制转换为二进制:
将十六进制数的每一位分别转换为对应的四位二进制数。
例:(3E9D)H=(11 1110 1001 1101)B
例:( 2 A B E)H
0010 1010 1011 1110
(2ABE)Q=(10101010111110)B
把二进制分组是不是简单多了,三位四位的二进制计算量要少了很多,分组也是有规律的,如八进制三位一组,因为八是二的三次方,十六是二的四次方,就分四位为一组,依此类推.
(1)将给定的十进制纯小数乘以基数2,其积的整数部分便是等值二进制纯小数的最高位。
(2)将上一步中乘积的小数部分再除以基数2,所得乘积的整数部分便是次高位。
(3)重复步骤2,直到乘积的小数部分为0,或者达到要求的精确度为止(舍入误差小于最低位对应的数值)。各次乘积的整数部分便是二进制纯小数的各位,最后一次乘积的整数部分是最低位.
例:将十进制数0.78转换为二进制数。舍入误差小于2-8≈4×10-3
看下图二:
图二
此主题相关图片如下:
(0.78)D=(0.11000111)B
3、带小数的十进制数转换为二进制数:
——将其整数部分和小数分开计算,即整数部分用基数除法,小数部分用基数乘法,最后合起来。
例:(267.78)D=(100010011.11000111)B
以上方法可归纳为:
整数部分——除2取余;
小数部分——乘2取整。
另外要注意读数的顺序(即高低位的顺序)。十进制转换为其它进制方法一样,在此不多讲了,如不明白可以联系我.下面就十进制267转八进制说说就OK了,
(267)D=(413)Q
小数就比较麻烦了,当然也可以和上面而二进制一样用乘基数取整法,但太麻烦,所以我建议先转化为二进制再转化为八进制,如0.78D要转换成八进制就得先转换为二进制,再转换为八进制.这样就能以二进制为基础进行扩张转换,那就比较清晰了.
其实本人觉得不管什么进制,如不是很大的数,不管三七二十一先转为二进制再讲,二进制再转换就简单得多了. 如
二进制数转换为八进制和十六进制数
1、二进制转换为八进制:
整数部分,从低位开始,小数部分,从高位开始,每三位一组(不够三位的补0),转换为对应的八进制数。
例:(267.78)D=(100 010 011.110 001 11)2=(423.616)Q
267.78
100 010 011.110 001 11[0]-----补个零
4 2 3 . 6 1 6
2、二进制转换为十六进制:
整数部分,从低位开始,小数部分,从高位开始,每四位一组(不够四位的补0),转换为对应的十六进制数。
例:(267.78)D=(1 0001 0011.1100 0111)2=(113.C7)H
八进制和十六进制转换为二进制:
1、八进制转换为二进制:
将八进制数的每一位分别转换为对应的三位二进制数。
例:(643)Q=(110 100 011)
例: (3 7 . 5 6)Q
011 111 . 101 110
(37.56)Q=(11111.10111)B
2、十六进制转换为二进制:
将十六进制数的每一位分别转换为对应的四位二进制数。
例:(3E9D)H=(11 1110 1001 1101)B
例:( 2 A B E)H
0010 1010 1011 1110
(2ABE)Q=(10101010111110)B
把二进制分组是不是简单多了,三位四位的二进制计算量要少了很多,分组也是有规律的,如八进制三位一组,因为八是二的三次方,十六是二的四次方,就分四位为一组,依此类推.