是否可以修改下面的代码,使其即使在启用快速数学的 GCC 编译时也能正常工作?
#include <iostream>
#include <float.h>
using namespace std;
int main()
{
char divider = 2;
float power = 1;
float number = 1;
float current = number + power;
cout.precision(20);
// Divide until rounded off
while(current != number)
{
power /= divider;
current = number + power;
//cout << current << endl;
}
cout << power * divider << endl;
cout << FLT_EPSILON << endl;
}
注意:我在头文件中有它,但我没有设法关闭头文件的快速数学。请参阅奇怪的 while 循环行为和如何禁用头文件函数的快速数学运算