C++ Implementation-defined behavior Value representation of floating point types


Example

The standard requires that long double provides at least as much precision as double, which provides at least as much precision as float; and that a long double can represent any value that a double can represent, while a double can represent any value that a float can represent. The details of the representation are, however, implementation-defined.

For a floating point type T, std::numeric_limits<T>::radix specifies the radix used by the representation of T.

If std::numeric_limits<T>::is_iec559 is true, then the representation of T matches one of the formats defined by IEC 559 / IEEE 754.