Вы можете получить максимальные пределы парных / длинных парных чисел из std :: numeric_limits
#include <iostream>
#include <limits>
int main()
{
std::cout << " Double::digits10: " << std::numeric_limits<double>::digits10 << "\n";
std::cout << "Long Double::digits10: " << std::numeric_limits<long double>::digits10 << "\n";
}
На моей машине это дает:
Double::digits10: 15
Long Double::digits10: 18
Так что я ожидаю, что long double будетс точностью до 18 цифр.
Определение этого термина можно найти здесь:
http://www.cplusplus.com/reference/std/limits/numeric_limits/
Стандартная цитата: 18.3.2 Numeric limits [limits]
Также примечание: каккомментарий находится в нижнем списке выше:
То, что @sarnold неверен (хотя по его таинственным причинам два глупых человека проголосовали за его комментарий без проверки) в своих утверждениях о pow ().То, что он утверждает, применимо только к C. C ++ имеет перегрузки для типов, потому что в C ++ pow () является функцией шаблона.См .: http://www.cplusplus.com/reference/clibrary/cmath/pow/ в стандарте на 26.4.7 complex value operations [complex.value.ops]