Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запись вещественных чисел в файл С++

99K
12 декабря 2017 года
Влад Kuzma
1 / / 12.12.2017
num = 0.067000000000000000000000000000;
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
и т.д.
с маленькими значениями такого нет а вот с большими есть.
412
16 декабря 2017 года
grgdvo
323 / / 04.07.2007
у вещественного числа двойной точности (double) всего порядка 16 значащих цифр, поэтому все справедливо.
используйте четверичную точность (libquadmath, вроде в GCC входит)
или разные дргуие библиотеки, например GNU MP.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог