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

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8793万
展开全部

先拿转成二进制为例,手算


-整数部分:

写出二进制每位上的基数,个位是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。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式