小数点后的进制转换

作者&投稿:殷郊 (若有异议请与网页底部的电邮联系)
小数点的进制转换是什么?~

小数点的进制转换包含二进制、八进制、十进制、十六进制。
(1)二进制转十进制: 方法:“按权展开求和”。
(2)十进制转二进制:
十进制整数转二进制数:“除以2取余,逆序排列”(短除反取余法)
十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
(3)八进制与二进制的转换:
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。
(4)十六进制与二进制的转换:
二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。
十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。
下面简单说明一下以上4种进制:
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;

10进制,用十个阿拉伯数字:0到9;
16进制,用十六个阿拉伯数字,
可是阿拉伯人只发明了10个数字? 所以实际上16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

1乘以2的2次方+0乘以2的1次方+1乘以2的0次方,因此小数点左面就是5.
1除以2的1次方+1除以2的2次方=0.5+0.25=0.75,因此小数点右面就是0.75,合并就是5.75

八进制的小数点转十进制:(12.4)O=(10.5)D是怎么算来的,?
同理,只是基数不是2而是8.
1乘以8的1次方+2乘以8的0次方,小数点左面就是10.
4除以8的1次方,小数点右面就是0.5,合并就是10.5.

十六进制的小数点转十进制:(2A.7F)H=(42.4960937)D又是怎么算来的?
2乘以16的1次方+A乘以16的0次方,小数点左面就是42.
7除以16的1次方+F除以16的2次方=0.4375+0.05859375=0.49609375

但是在PLC中虽然是使用了32位来存储一个浮点数,但是却并使用IEEE754存储格式。




至于如何去将IEEE754转换为我们看得懂的Real,我想您还是没有必要去弄明白,毕竟这需要一些数学基础的。

小数点的进制转换包含二进制、八进制、十进制、十六进制。

(1)二进制转十进制: 方法:“按权展开求和”。

(2)十进制转二进制:

十进制整数转二进制数:“除以2取余,逆序排列”(短除反取余法)

十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)

(3)八进制与二进制的转换:

二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。

(4)十六进制与二进制的转换:

二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。

十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。

下面简单说明一下以上4种进制:
2进制,用两个数字:0、1;
8进制,用八个数字:0、1、2、3、4、5、6、7;

10进制,0到9;
16进制,用十六个数字,

所以实际上16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

十进制转换为二进制

注:一般需要将十进制数的整数部分与小数部分分开处理,符号位:1为负,0为正。

整数部分计算方法:除2取余法请看例题: 例如:十进制数53的二进制值为110101

小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。

位运算在计算机编程中经常用到,所以掌握十进制和二进制间的转换十分重要。

十进制:由 0~9 十个数字组成
二进制:由 0和1 两个数字组成
1、整数转换
十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。

比如下图中的例子,十进制的13转为二进制表示,则为1101。

十进制转二进制

二进制转十进制的原理:二进制数的每一位乘以2的n次方,n 从零开始,每次加一,最后累加。

下面是将二进制的1101转为十进制的13。

二进制转十进制

2、小数转换
对于小数,二进制 转 十进制 比较简单,仍是二进制数的每一位乘以2的n次方,小数点前面的 n 从零开始,每次加一;小数点后面的 n 从-1开始,每次减一,最后累加。

小数-二进制转十进制

十进制 转 二进制 相对麻烦些,用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为0,整数部分为1,此时1为二进制的最后一位。

下图是将十进制的0.625转换为二进制表示的0.101。

小数-十进制转二进制

不过,不是所有的十进制小数都恰好能用二进制精确表示。比如十进制的0.3转化为用二进制表示,如下图所示。若用小数点后六位来表示,则只能近似为0.296875。

小数-十进制转二进制

从上面的例子可以看出,二进制小数点后面的位数越多,则能表示的小数点后面的有效数字越多。

C语言中浮点型一般分为 float 单精度型(4个字节)和 double 双精度型(8个字节),单精度浮点型小数点后面有效数字为6位,双精度浮点型小数点后面有效数字为15位。


怎样将小数点后面转换为二进制?
小数点后面的进制转换采用估值,以1011001.10111为例,一般手算是这样的:十进制转二进制,将小数点后的数单独拿出来(就是去掉前面的整数部分为零),然后乘2,取结果的整数部分,再取结果的小数部分乘2,再取整数部分,以此类推,除非是1\/2的整数次,否则可以一直往下算,不过一般是取三位或四位有...

二进制变八进制小数点后面怎么变?
转换规则:整数部分: 从后往前每三位一组,缺位处用0填补,然后按十进制方法进行转化;小数部分:从前往后每三位一组,缺位处用0填补,然后按十进制方法进行转化;转换举例:如:011101.11001 先补齐 011101.110010 然后每3位变成8进制 011101.110010 3 5. 6 2 ...

小数点后的进制转换
小数点的进制转换包含二进制、八进制、十进制、十六进制。(1)二进制转十进制: 方法:“按权展开求和”。(2)十进制转二进制:十进制整数转二进制数:“除以2取余,逆序排列”(短除反取余法)十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)(3)八进制与二进制的转换:二进制...

带小数点的进制转换怎么转换?
除R取余倒序法:除基数取余法,连续除以基数,并取其余数,直到商为零,将所得余数倒序排列即可 十进制小数→R进制小数 乘R取整顺序法:乘基数取整,连续乘以基数,并取其整数,直到积为零或达到所要求的精度时,将所得整数正序排列即可。三、二、八与十六进制之间的转换 ...

十进制转换成二进制中,小数点后面的数字怎么转换?
1、十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。例如十进制的0.125,要转换为二进制的小数。2、转换为二进制,将小数部分0.125乘以2,得0.25,然后取整数部分0。3、再将小数部分0.25乘以2,得0.5,然后取整数部分0。4、再将小数...

小数点后面的数字如何转换成二进制?
0.375 将小数部分乘以2得到0.75,这个结果的整数部分就是转换后的第1位二进制小数[0.0]用上步的小数部分继续算:0.75*2=1.5,现在将整数部分填入二进制小数[0.01]0.5*2=1.0,二进制小数为[0.011],发现小数部分是0时停止运算,否则可以继续算下去 提示:如果转n进制就乘以n好了,还是...

十进制转化为二进制,小数点后面的(小数部分)怎么转?
这种方法每次乘以基数取其整数作系数。所以叫乘基取整法。需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程无限进行下去。此时可以根据要求并考虑计算机字长,取定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。

有小数点的进制转换
十六进制、八进制、二进制等都很常见。其中,二进制是计算机内部使用的进制,八进制和十六进制常用于编程中。在进制之间进行转换时,需要将数值按照不同进制的规则进行重新组织,转换成不同的进制。例如,十进制转二进制可以采用不断除以2的方法,依次将余数从下往上排列,就得到了转换后的二进制数。

小数点后怎么转换成八进制?
十进制小数转八进制的方法:整数部分按除8取余法,小数点后按乘8取整,余数继续乘8取整,直至相应精度。八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位...

二进制(带小数)转八进制方法.
从小数点往两边取二进制数,每3个(不足的补0)转换成一个8进制,一定是从中间往两边,例如:110.01=(110).(010)=6.2 整数位向左补0使整数位数为三的倍数 再三位一转。(十进制)小数位向右补0使小数位数为三的倍数 再三位一转。(十进制)1001.00011=(001)(001).(000)(110)=11....

潼关县15378805275: 有小数点的进制转换 -
寸旭利分: 小数点的进制转换包含二进制、八进制、十进制、十六进制. (1)二进制转十进制: 方法:“按权展开求和”. (2)十进制转二进制:十进制整数转二进制数:“除以2取余,逆序排列”(短除反取余法) 十进制小数转二进制数:“乘以2取整,...

潼关县15378805275: 有小数点的进制转换(0.5625)10 转换成 二进制 八进制 十六进制(1010.01)2 转换成 八进制 十进制 十六进制(1001.0101)2 转换成 八进制 十进制 十六... -
寸旭利分:[答案] 十进制小数点后的是乘二取整.即 0.5625*2 1.1250 取1 0.1250*2 0.2500 取0*2 0.5000 取0*2 1.0000 取1所以(0.5625)10=(0.1001)2(1010.01)2=(1*2^3+1*2^1+1*2^-2)=(10.25)10(1010.01)2=(12.4)8 每三位...

潼关县15378805275: 小数点后面的的数怎样从八进制转化为二进制如题 -
寸旭利分:[答案] 和整数部分一样. 如2.7(8) 整数部分2 (8) = 10 (2) 小数部分7 (8) = 111 (2) 再合在一起:2.7 (8) = 10.111 (2) 以小数点为界,分别转换就行了. 满意请采纳

潼关县15378805275: 小数的十进制转换成十六进制(如图),怎么转换? -
寸旭利分: 十六进制的整数, 表示每十六才进一位. 十进制是, 每十, 进一位,所以, 整数部分, 可以用,(/16), 从个位十位往上求, 将数字逐次除以16,馀数为, 每一位结果.小数部分, 因为是未满16, 所以应该用乘法(x16), 从小数点下第...

潼关县15378805275: 如何对小数进行进制转换?比如(625.625)10如何转换成八进制、三进制、二进制等,带小数的怎么转换进制? -
寸旭利分:[答案] 先求整数部分 625/2=312.1 312/2=156.0 156/2=78 .0 78/2=39.0 39/2=19...1 19/2=9.1 9/2=4.1 4/2=2.0 2/2=1...0 1/2=0.1 除2取余,余数倒着书写,即 (625)10=(1001110001)2 三进制则除以三,八进制则除以八 再看小数 0.625*2=1.25.取1 0.25*2...

潼关县15378805275: 小数点怎么转换为二进制比如下面这样一个问题:---------------------------------------------------0.2化二进制是0.2*2=0.4,整数位为00.4*2=0.8,整数位为00.8*2=1.6,... -
寸旭利分:[答案] 十进制数0.2要用二进制数来表示的话,是一个循环小数,无法精确表达.只能根据精度需要,截取小数点后若干位来表示了.

潼关县15378805275: 小数点的二进制怎么转化为十进制 -
寸旭利分: 采用“乘权求和”的方法进行转化.小数点右边的第一位的权是1/2,第二、第三、第四位……的权依次是:1/4、1/8、1/16…… 举例: (0.1011)2=1/2+1/8+1/16=0.6875

潼关县15378805275: 十进制小数怎么转换二进制数,例如:25.6875 -
寸旭利分:[答案] 十进制数转换成非十进制数 把一个十进制数转换成非十进制数分成两步.整数部分转换时采用“除整取余法”;小数部分转换时采用“乘基取整法”. 以小数点为界,整数部分除以2,然后取每次得到的商和余数,用商继续和2相除,直到商小于2.然后...

潼关县15378805275: 带小数的二进制,八进制,十进制和十六进制数之间如何转化请举例,有统一的公式吗? -
寸旭利分:[答案] 二进制八进制和十六进制之间很容易转换,比如10111110(二进制)转换为八进制是将二进制从尾(右)开始每三位组成一个8进制位,头上不足补0上述的八进制为276(八进制),二进制转换为十六进制是从尾开始每4为组成一个16进制位,头上...

潼关县15378805275: 带小数的进制转换 -
寸旭利分: 一、R进制数→十进制数位权法:把R进制数按权展开求和示例: (1110.1)2= 1*23+1*22 + 1*21+ 0*20+1* 2-1 = 8 + 4 + 2 + 0 + 0.5= (14.5)10 二、十进制数→R进制数 1、十进制整数→R进制整数 除R取余倒序法:除基数取余法,连续...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网