问一个关于c primer plus一书中的浮点数显示有关问题

问一个关于c primer plus一书中的浮点数显示问题
在第三章中,最后的练习3.4要求键盘输入一个浮点数并显示。程序代码如下:
问一个关于c primer plus一书中的浮点数显示有关问题
输入21.29运行后结果:
问一个关于c primer plus一书中的浮点数显示有关问题
试了其它数,%f输出都有误差,想请问这是怎么回事?
浮点数误差

------解决方案--------------------
有误差是正常的,计算机在存储的时候是以二进制存储的,但十进制是不能完全转换成二进制的。具体看看float、double二进制的编码就知道了。
------解决方案--------------------
引用:
Quote: 引用:

%f ----> %.2f
你这么只是欺骗嘛问一个关于c primer plus一书中的浮点数显示有关问题


搜搜:浮点数规格化
或者直接试试:
http://www.binaryconvert.com/convert_double.html?decimal=048046048049