[我试图计算一个浮点乘法,我观察到该值已经饱和到 65536 并且没有更新。
问题仅在于以下代码。] 1
我用在线 GCC 编译器试过这个问题仍然是一样的。
这与浮点精度有什么关系?编译器是否在运行期间优化了我的浮点精度?
有没有我可以添加的编译器标志来解决这个问题?
谁能指导我如何解决这个问题?
附上代码供参考
#include <stdio.h>
int main()
{
float dummy1, dummy2;
unsigned int i =0;
printf("Hello World");
printf("size of float = %ld\n", sizeof(dummy1));
dummy2 = 0.0;
dummy1 =65535.5;
dummy2 = 60.00 * 0.00005;
for( i= 0; i< 300; i++)
{
dummy1 = dummy1 + dummy2;
printf("dummy1 = %f %f\n", dummy1, dummy2);
}
return 0;
};