Запись вещественных чисел в файл С++
x = 0.067000000000000000000000000000;
n = 0.000000000000000000000000000001;
while (x <= 0.100000000000000000000000000000)
{
x = x + n;
num = num + n;
file << std::setprecision(30) << std::fixed << num << std::endl;
}
в файле получаю значения
...
0.067000000000000003996802888651
0.067000000000000003996802888651
0.067000000000000003996802888651
....
а нужно
0.067000000000000000000000000001
0.067000000000000000000000000002
0.067000000000000000000000000003
и т.д.
с маленькими значениями такого нет а вот с большими есть.
используйте четверичную точность (libquadmath, вроде в GCC входит)
или разные дргуие библиотеки, например GNU MP.