C++ 增强C++;如何在没有指数字符的情况下输出浮点值的所有数字? #包括 #包括 #包括 使用boost::multiprecision::number; 使用boost::multiprecision::cpp_dec_float; 使用boost::multiprecision::cpp_dec_float_50; 使用boost::numeric\u cast; 使用std::cout; int main() { srand(时间(空)); std::cout

C++ 增强C++;如何在没有指数字符的情况下输出浮点值的所有数字? #包括 #包括 #包括 使用boost::multiprecision::number; 使用boost::multiprecision::cpp_dec_float; 使用boost::multiprecision::cpp_dec_float_50; 使用boost::numeric\u cast; 使用std::cout; int main() { srand(时间(空)); std::cout,c++,boost,precision,boost-multiprecision,C++,Boost,Precision,Boost Multiprecision,您已使用二进制双精度值实例化了x,该值不能表示为十进制。下面是如何解决此问题: #包括 #包括 使用boost::multiprecision::cpp_dec_float_50; int main() { 标准::cout #include <iostream> #include <boost/multiprecision/cpp_dec_float.hpp> #include <boost/multiprecision/cpp_in

您已使用二进制双精度值实例化了
x
,该值不能表示为十进制。下面是如何解决此问题:

#包括
#包括
使用boost::multiprecision::cpp_dec_float_50;
int main()
{   
标准::cout
    #include <iostream>
    #include <boost/multiprecision/cpp_dec_float.hpp>
    #include <boost/multiprecision/cpp_int.hpp>
    using boost::multiprecision::number;
    using boost::multiprecision::cpp_dec_float;
    using boost::multiprecision::cpp_dec_float_50;
    using boost::numeric_cast;
    using std::cout;


    int main()
    {
        srand(time(NULL));


        std::cout << std::setprecision(std::numeric_limits<cpp_dec_float_50>::digits10);
        cpp_dec_float_50 x = 0.0001;
        cpp_dec_float_50 y = x*x*x*x;
        std::cout << s << "\n";
    }
0.00000000000000010000000000000000000000000000000000