0
我想知道什么是我的问题,当我尝试打印一些浮点值,例如,在这个简单的程序:打印浮点值有什么问题?
float n = 127.998 ;
printf("%f",n);
执行得到:127.998001。
- 那么,为什么我有这个数的附加回来?
我想知道什么是我的问题,当我尝试打印一些浮点值,例如,在这个简单的程序:打印浮点值有什么问题?
float n = 127.998 ;
printf("%f",n);
执行得到:127.998001。
某些值不能准确地存储在浮点数据类型。我们不能保证您的float n = 127.998
实际上将被存储为127.998
。对于无法在浮点类型中精确表示的值,取而代之的是与其最接近的值,这就是您所得到的值。
另请参阅http://stackoverflow.com/questions/12635537/c-浮点数精确度 – Ari0nhh
强制性[每位计算机科学家应了解的浮点算术知识](http://docs.oracle.com/ CD/E19957-01/806-3568/ncg_goldberg.html) – Caw