C ++中Boost库中cpp_dec_float的最大值是多少?

时间:2019-07-12 12:26:08

标签: c++ boost

我想知道什么值导致cpp_dec_float溢出。我尝试了1000万的伽玛函数,但仍然可以存储很大的数量。但是,无法存储1100万的伽马。

1 个答案:

答案 0 :(得分:0)

您可以使用::max()函数来查找可以存储的最大值(另请参见the boost docs on multiprecisionon numeric_limits)。以cpp_dec_float_50为例:

#include <boost/multiprecision/cpp_dec_float.hpp>
#include <iostream>
#include <limits>

using boost::multiprecision::cpp_dec_float_50;
int main() {
    std::cout.precision(std::numeric_limits<cpp_dec_float_50>::digits10);
    std::cout << std::numeric_limits<cpp_dec_float_50>::max() << std::endl;
}

关于导致溢出的原因,您可能还会发现this question感兴趣。