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

2024年11月16日 11:38
有1个网友回答
网友(1):

二进制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