#include #include typedef boost::multiprecision::number > ext_float_t; int main(int, char**) { ext_float_t a0("1e500000000"); ext_float_t a = a0*a0; // +inf ext_float_t b = a*0; // nan std::cout << a << " => " << a.convert_to() << "\n" << b << " => " << b.convert_to() << "\n" ; return 0; }