&gt; that only supports 15.<p>it supports somewhere between 15 and 16, actually. There are 52 bits of precision in a double&#x27;s mantissa[1]. This gives you log_10(2^52) = 52*log(2)&#x2F;log(10) ~ 15.654 digits of precision, that is, the 16th decimal place is accurate about 65% of the time.<p>You can also exactly represent in decimal the binary value stored, because as long as you have 52 decimal places, you have enough 2&#x27;s in the denominator for all of the bits that you can represent (each 10 in the denominator pairs up with each 2 from each bit).<p>--<p>[1]  Plus an implicit bit, but not in the fractional part of the mantissa.