问一个关于c primer plus一书中的浮点数显示有关问题
问一个关于c primer plus一书中的浮点数显示问题
在第三章中,最后的练习3.4要求键盘输入一个浮点数并显示。程序代码如下:

输入21.29运行后结果:

试了其它数,%f输出都有误差,想请问这是怎么回事?
------解决方案--------------------
有误差是正常的,计算机在存储的时候是以二进制存储的,但十进制是不能完全转换成二进制的。具体看看float、double二进制的编码就知道了。
------解决方案--------------------
搜搜:浮点数规格化
或者直接试试:
http://www.binaryconvert.com/convert_double.html?decimal=048046048049
在第三章中,最后的练习3.4要求键盘输入一个浮点数并显示。程序代码如下:
输入21.29运行后结果:
试了其它数,%f输出都有误差,想请问这是怎么回事?
浮点数误差
------解决方案--------------------
有误差是正常的,计算机在存储的时候是以二进制存储的,但十进制是不能完全转换成二进制的。具体看看float、double二进制的编码就知道了。
------解决方案--------------------
搜搜:浮点数规格化
或者直接试试:
http://www.binaryconvert.com/convert_double.html?decimal=048046048049