cfnr.net
当前位置:首页 >> 十进制小数转换二进制的问题 >>

十进制小数转换二进制的问题

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

这个取决于你需要的精度,如果精度达到了,后面的全部可以舍去。

因为从二进制到10进制是每位乘以一个权值 比如 101.101=1*2^2+0*2^1+1*2^0+ 1*2^-1 +0*2^-2 + 1*2^-3 =4+0+1+0.5+0+0.125=5.625; 同样,从10进制到2进制也就是 5.625 整数部分 5/2=2 5%2=1, 2/2=1,2%2=0,1/2=0,1%2=1;所以5=101B 小数部分 0.625*2...

1.若十进制数据为 137.625,则其二进制数为( )。 A.10001001.11 B.10001001.101 C.10001011.101 D.1011111.101 【分析】十进制数转化为二进制数时,整数部分和小数部分要用不同的方法来处理。整数部分的转化采用除基取余法:将整数除以2...

乘二取整。即0.8x2=1.6,取1;0.6x2=1.2,取1;0.2x2=0.4,取0;0.4x2=0.8,取0;0.8x2=1.6,取1…… 所以结果是无限循环小数:0.11001100…… 如有帮助请采纳,手机则点击右上角的满意,谢谢!!

十进制的小数转换成二进制的方法第一种方法,用户可以使用在线的进制转换器。只需要在浏览器中输入“在线进制转换”。这样就可以收到很多在线进制转换工具。随机点进去一个。然后输入自己带小数的十进制。就可以转换了。 第二种方法就是公式转换。...

看一下程序: #include #include #define NUM 2 #define ZERO 0.000001 //整数部分的转换 void integer(int n) { if(n>0) { integer(n/NUM); printf("%d",n%NUM); } } //小数部分的转换 void decimal(double m) { if(m>ZERO) { m=m*NUM; printf(...

并不是所有的十进制小数都能精确转换为二进制小数,但是任何二进制小数都可以精确转换为十进制小数,0.15无法精确的转换为二进制,0.001001100110011循环不尽

精度0.1%即1‰(千分之一),小数点之后10位二进制可以表示2E-10=1/1024(2的-10次方),精度略高于1‰,所以要求二进制精度达到0.1%,小数点后二进制位数要达到10位。

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com