C/C++

Стандартные библиотеки C++ не сильно точны?

текст скопирован с страницы и сохранен был для дальнейшего чтения на смартфоне
Какие стандартные библиотеки? Для расчётов с хорошей практической точностью вещественные типы float, double, а тем более long double вполне годятся. А если надо что-то ещё, например, особо точные представления чисел, тогда конечно надо пользоваться чем-либо типа модулей gmp или mpfr. Вот пример расчёта ограниченных сумм гармонического ряда Σ(k=1;n)1/k:
 #include  
#include
#include

using namespace std;

mpz_class Euclid(mpz_class x, mpz_class y)
{
mpz_class z;
while (true)
{
z = x % y;
if (z == 0) return y;
else { x = y; y = z; }
}
}

void print(int i, mpz_class x, mpz_class y)
{
mpz_class z; z = x / y;
cout
Алексей Медведев
Алексей Медведев
66 572
Лучший ответ
15-16 точных цифр типа double вполне, и даже с лихвой, достаточно для всех практических задач :)
Александр Гильмутдинов Исключая финансовые задачи, где плавающая запятая в принципе неприменима.
Руслан ***** И с конечными разностями такая точность - как-то не очень.
 0.1234567890123789
0.1234567890123456
==================
0.0000000000000333
Опа, что случилось с нашей относительной погрешностью? Вместо 10 в минус 15-й она стала 10 в минус третьей...
Петрик Севастьянов Помню, читал об одном эксперименте психологов с группой студентов первых курсов, которым было предложено решить на компьютере задачи с потерей точности, кажется, в том числе с квадратными уравнениями. Вывод группы был таким: компьютеры на самом деле нельзя использовать, они делают ошибки ;)
Ну флоат 4 байта, а если те надо точность при большом количестве вычислений, юзай дабл 8 байтов.
Нет, стандартные библиотеки достаточно точны для стандартных задач. Если же вашей задачи "точности" не хватает - значит либо
1) Ваша задача не стандартная - имеет смысл рассмотреть использование нестандартных библиотек.
2) Вы что-то делаете не так.
А вот использование того же boost просто для точности зачастую выглядит как стрельба из пушки по воробьям. Для тех же "нестандартных" задач зачастую существуют специализированные библиотеки, предлагающие в рамках заданного контекста куда более эффективные решения, чем буст из-за его обобщенности.