首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

求解答解决方法

2012-11-05 
求解答请问为什么#include stdio.hmain(){ floatx123.456002printf( x%f\n , x )}这段程序输出的

求解答
请问为什么
#include <stdio.h>
main( )
{ float x=123.456002;
 printf( "x=%f\n" , x );

}
这段程序输出的是:x=123.456001.
如果x被换成123.456,结果还是一样,为什么尾数是001,即x为什么不是输出123.456002或123.456000
求解答,谢谢!!

[解决办法]
精度问题吧,用double试试。
[解决办法]
十进制小数和二进制小数之间的转换不一定是精确的,有时有限小数会转换成无限循环小数,所以会带来一定的误差

热点排行