如何把八进制"小数部分"转换成十进制

 我来答
鲜于慈进松
2020-02-06 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:35%
帮助的人:937万
展开全部
进制转换的相关问题。
进制这事儿,说到底就是位值原理,即:同一个数字,放在不同的数位上,代表不同大小的“量”。例如:十进制中,百位上的1表示100,十位上的1表示10。
任意进制转换成十进制:
任何进制中,每个数都可以按位权展开成各个数位上的数字乘以对应数位的位权,再相加的形式。例如:十进制的123=1×100+2×10+3×1
八进制的123=1×64+2×8+3×1(注意:这两个123不相等)
而八进制123=1×64+2×8+3×1按十进制的规则计算,最后的和就是123的八进制转化成十进制的结果。即123(八进制)=1×64+2×8+3×1=83(十进制)
小数部分亦是如此,其他进制也是如此。
十进制转化成任意进制:(我觉得其实是上述过程的逆。)
整数部分:辗转相除,逆向取余。
例:对于十进制转八进制的整数部分,用被除数反复除以8,除第一次外,每次除以8均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求八进制数的最高位。
为什么这样算呢?以上面的例子为例。首先83除以8的余数是3,因为无论如何前两位都是8的倍数,结果是不可能出现在余数里的,那么3就是最低位。而83除以8的商是1×8+2×1,同理再除以8,余数就是2,那么2就是第二位。以此类推,当首次出现商为0时,所对的余数就是最高位。
小数部分:乘积取整法。(注意这是正向取值)
例:对于十进制转八进制的小数部分采用连续乘以基数8,并依次取出的整数部分,直至结果的小数部分为0。
0.123(十进制)转化成八进制表格表示。
因子
计算过程
结果
取小数部分
取整数部分
0.123
×8
0.984
0.984
0
0.984
×8
7.872
0.872
7
0.872
×8
6.976
0.976
6
0.976
×8
7.808
0.808
7
0.808
×8
6.464
0.464
6
0.464
×8
3.712
0.712
3
0.712
×8
5.696
0.696
5
0.696
×8
5.568
0.568
5
0.568
×8
4.544
0.544
4
……
故最后结果是:0.076763554……(这是个无限不循环小数)(八进制)
为什么这样算呢?例如:0.123是个八进制数,设它的十进制为x,则x=1×(1/8)+2x(1/64)+3x(1/512)那么8x=1+2x(1/8)+3x(1/64),此时整数部分就是1,1就作为x化为八进制0.123的小数部分第一位。8x-1=2x(1/8)+3x(1/64),(8x-1)x8=2+3x(1/8),此时整数部分就是2,2就作为x化为八进制的小数部分第二位,其余以此类推,直至小数部分为0。
同理,其他进制也是如此。
注:部分内容引用360百科“进制转换”词条。
庞庆生梁临
2020-01-11 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:32%
帮助的人:716万
展开全部
举个例子:八进制的0.123
然后转为十进制就是1/8+2/64+3/512=0.125
+
0.03125
+
0.005859375
=
0.162109375
如果是变回八进制,就采取“乘8取整”的方法:
0.162109375
*
8
=
1.296875
第一位为1
0.296875
*
8
=
2.375
第二位为2
0.375
*
8
=
3
第三位为
所以(0.123)8
=
(0.162109375)10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式