小数的进制转换

如题所述

一、二进制数转换成十进制

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

例如把二进制数 110.11 转换成十进制数。

二、十进制数转换为二进制数

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

例如把 (173)10 转换为二进制数。

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

例如把(0.8125)转换为二进制小数。

例:

(173.8125)10=( )2
解:

在上个例子中得(173)10=(10101101)2
得(0.8125)10=(0.1101)2
把整数部分和小数部分合并得:

(173.8125)10=(10101101.1101)2
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又 得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。 

十进制小数转二进制

如:0.625=(0.101)B

0.625*2=1.25======取出整数部分1
0.25*2=0.5========取出整数部分0
0.5*2=1==========取出整数部分1
再如:0.7=(0.1 0110 0110...)B

0.7*2=1.4========取出整数部分1
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========取出整数部分0 
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-09
十进制的小数转换为计算机中的二进制数,主要的方法是数字的小数部分乘以2,取整数部分,然后将原来的数依次从左往右放在小数点后,直至小数点后为0。

例如十进制的0.125,要转换为二进制的小数。转换为二进制,将小数部分0.125乘以2,得0.25,然后取整数部分0。再将小数部分0.5乘以2,得1,然后取整数部分1。则得到的二进制的结果就是0.001。
第2个回答  2020-11-09
进制转换是人们利用符号来计数的方法,即是由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数,位权是指进位制中每一固定位置对应的单位值

“数制”只是一套符号系统来表示指称“量”的多少。我们用“1”这个符号来表示一个这一“量”的概念。自然界的“量”是无穷的,我们不可能为每一个“量”都造一个符号,这样的系统没人记得住。

所以必须用有限的符号按一定的规律进行排列组合来表示这无限的“量”。符号是有限的,这些符号按照某种规则进行排列组合的个数是无限的。十进制是10个符号的排列组合,二进制是2个符号的排列组合。

在进行进制转换时有一基本原则:转换后表达的“量”的多少不能发生改变。二进制中的111个苹果和十进制中的7个苹果是一样多的。

十进制中的数位排列是这样的…… 万 千 百 十 个 十分 百分 千分……

可以看出相邻的数位间相差进制的一次方。

以下部分来源:知乎网友

进制这事儿,说到底就是位值原理,即:同一个数字,放在不同的数位上,代表不同大小的“量”。例如:十进制中,百位上的1表示100,十位上的1表示10。

任何进制中,每个数都可以按位权展开成各个数位上的数字乘以对应数位的位权,再相加的形式

有关小数的转换

最近有些朋友提了这样的问题“0.8的十六进制是多少?”

0.8、0.6、0.2... ...一些数字在进制之间的转化过程中确实存在麻烦。

就比如“0.8的十六进制”吧

无论怎么乘以16,它的余数总也乘不尽,总是余0.8

具体方法如下:

0.8*16=12.8

0.8*16=12.8

取每一个结果的整数部分为12既十六进制的C

如果题中要求精确到小数点后3位那结果就是0.CCC

如果题中要求精确到小数点后4位那结果就是0.CCCC
第3个回答  2020-11-09
小数的进制转换是这样的,剩的小数进位,除的小数要借位。
相似回答