将十进制数2746.12851转化成二进制,八进制,十六进制的过程怎么做?

如题所述

二进制101010111010.001000001,八进制5272.101,十六进制aba.20f。
一、将整数部分转换为二进制数,采用辗转除以2并取余数
1、2746/2
=
1373
余0
2、1373/2
=
686

余1
3、686/2
=
343

余0
4、343/2
=
171

余1
5、171/2
=
85

余1
6、85/2
=
42

余1
7、42/2
=
21

余0
8、21/2
=
10

余1
9、10/2
=
5

余0
10、5/2
=
2

余1
11、2/2
=
1

余0
12、1/2
=
0

余1
13、所以,整数部分的二进制数为(自下而上):101010111010
二、将小数部分转换成二进制数,采用辗转乘以2并取整数
1、0.12851*2
=
0.25702
整数部分:0
2、0.25702*2
=
0.51404
整数部分:0
3、0.51404*2
=
1.02808
整数部分:1
4、0.02808*2
=
0.05616
整数部分:0
(这一步只取上一步的小数部分)
5、0.05616*2
=
0.11232
整数部分:0
6、(如此一直算下去,直到满足小数点后的位数精度)
7、所以,整数部分的二进制数为(自上而下):001000001
三、将得到的二进制结果101010111010.00100转换为8进制
1、从小数点开始往左,每三个二进制为一组,将整数部分转换为8进制数:101
010
111
010
-->
5272
2、从小数点开始往右,每三个二进制为一组,将小数部分转换为8进制数:001
000
001
-->
101
3、所以8进制的结果为:5272.101
四、将得到的二进制结果101010111010.00100转换为16进制
1、从小数点开始往左,每四个个二进制为一组,将整数部分转换为16进制数,如果不够4位二进制数,在最左边补0:1010
1011
1010
-->
aba
2、从小数点开始往右,每四个二进制为一组,将小数部分转换为16进制数,如果不够4位二进制数,在最右侧补1:0010
0000
11111
-->
20f
3、所以16进制结果为:aba.20f
温馨提示:答案为网友推荐,仅供参考
相似回答