According to my understanding (about what I read on the Internet), it seems that std::numeric_limits<double>::digits10
(which for double
is equal to 15
) represent the number of digits a double
can handle, for instance 1.23456789012345 but not 1.234567890123456
On the other hand, double-precision floating-point format range will go until 1.8*10^+308
, which seems to represent a number which not hold only on 15 digits.
Where is the incoherence?