永发信息网

如何将十进制数69.2转换成二进制、八进制、十六进制?

答案:2  悬赏:80  手机版
解决时间 2021-11-14 04:34
  • 提问者网友:低吟詩仙的傷
  • 2021-11-13 16:40
如何将十进制数69.2转换成二进制、八进制、十六进制?
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-11-13 18:06
先拿转成二进制为例,手算

-整数部分:
写出二进制每位上的基数,个位是1,高位是低位乘以2,写到比69大为止
128 64 32 16 8 4 2 1,
0 1 0 0 0 1 0 1,
用69除以最高位上的基数得到商和余数=69/128=0[69],
将商写到128这位下面:

用上步得数的余数继续计算=69/64=1[5],
将1写到64下面:
5/32=0[5],
5/16=0[5],
5/8=0[5],
5/4=1[1],
1/2=0[1],
1/1=1[0],
计算直到余数为0停止,
如果还有位没算就都填0,69转换成二进制数为1000101。

-小数部分:取小数部分乘以2,

取69.2的小数部分乘以2=0.2*2=0.4,
结果的整数部分就是当前小数位[1000101.0],

取上步结果的小数部分乘以2=0.4*2=0.8[1000101.00],

0.8*2=1.6[1000101.001],
0.6*2=1.2[1000101.0011],
0.2*2=0.4[1000101.00110],
0.4*2=0.8[1000101.001100],
0.8*2=1.6[1000101.0011001],
0.6*2=1.2[1000101.00110011],
计算到达到指定位数或者小数部分为0时结束。
结果69.2转换为二进制数为1000101.00110011

上述部分有乘以2的,
换成乘以n那么就可以转换成n进制了,
八进制乘以8,
十六进制乘以16。

有了二进制的话转换成八进制有简单算法:
八进制每位相当于二进制3位,

1000101.00110011=[001][000][101].[001][100][110]=105.146o

同理十六进制每位相当于二进制4位:
1000101.00110011=[0100][0101].[0011][0011]=45.33H。
全部回答
  • 1楼网友:狂恋
  • 2021-11-13 18:19
先拿转成二进制为例,手算
-整数部分:写出二进制每位上的基数,个位是1,高位是低位乘以2,写到比69大为止
128 64 32 16 8 4 2 1
0 1 0 0 0 1 0 1
用69除以最高位上的基数得到商和余数=69/128=0[69],将商写到128这位下面
用上步得数的余数继续计算=69/64=1[5],将1写到64下面
5/32=0[5],5/16=0[5],5/8=0[5],5/4=1[1],1/2=0[1],1/1=1[0],计算直到余数为0停止,如果还有位没算就都填0,69转换成二进制数为1000101
-小数部分:取小数部分乘以2
取69.2的小数部分乘以2=0.2*2=0.4,结果的整数部分就是当前小数位[1000101.0]
取上步结果的小数部分乘以2=0.4*2=0.8[1000101.00],
0.8*2=1.6[1000101.001],0.6*2=1.2[1000101.0011],0.2*2=0.4[1000101.00110],0.4*2=0.8[1000101.001100],0.8*2=1.6[1000101.0011001],0.6*2=1.2[1000101.00110011],计算到达到指定位数或者小数部分为0时结束
结果69.2转换为二进制数为1000101.00110011
上述部分有乘以2的,换成乘以n那么就可以转换成n进制了,八进制乘以8,十六进制乘以16
有了二进制的话转换成八进制有简单算法:八进制每位相当于二进制3位
1000101.00110011=[001][000][101].[001][100][110]=105.146o
同理十六进制每位相当于二进制4位:1000101.00110011=[0100][0101].[0011][0011]=45.33H
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯