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

2024-11-01 17:21:28
推荐回答(2个)
回答1:

2746.12851(十进制)
二进制:101010111010.001000001
八进制:5272.101
十六进制:aba.20f

转换步骤为:
1)将整数部分转换为二进制数,采用辗转除以2并取余数
2746/2 = 1373 余0
1373/2 = 686 余1
686/2 = 343 余0
343/2 = 171 余1
171/2 = 85 余1
85/2 = 42 余1
42/2 = 21 余0
21/2 = 10 余1
10/2 = 5 余0
5/2 = 2 余1
2/2 = 1 余0
1/2 = 0 余1 (结束)
所以,整数部分的二进制数为(自下而上):101010111010

2)将小数部分转换成二进制数,采用辗转乘以2并取整数
0.12851*2 = 0.25702 整数部分:0
0.25702*2 = 0.51404 整数部分:0
0.51404*2 = 1.02808 整数部分:1
0.02808*2 = 0.05616 整数部分:0 (这一步只取上一步的小数部分)
0.05616*2 = 0.11232 整数部分:0
……(如此一直算下去,直到满足小数点后的位数精度)

所以,整数部分的二进制数为(自上而下):00100...

3)将得到的二进制结果101010111010.00100转换为8进制
从小数点开始往左,每三个二进制为一组,将整数部分转换为8进制数:
101 010 111 010 --> 5272
从小数点开始往右,每三个二进制为一组,将小数部分转换为8进制数:
001 000 001 --> 101
所以8进制的结果为:5272.101

4)将得到的二进制结果101010111010.00100转换为16进制
从小数点开始往左,每四个个二进制为一组,将整数部分转换为16进制数,如果不够4位二进制数,在最左边补0:
1010 1011 1010 --> aba
从小数点开始往右,每四个二进制为一组,将小数部分转换为16进制数,如果不够4位二进制数,在最右侧补1:
0010 0000 11111 --> 20f
所以16进制结果为:aba.20f

回答2:

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