In the book "C Primer Plus 5/e", I saw the author wrote:
C standard provides that a float has to be able to represent at least 6 significant figures and allow a range of at least
10^(-37)
to10^(+37)
.
But for doing so and using a natural size at the same time, it would require 4 bytes. So in fact, one can has a range from 10^(-63) to 10^(+63), see
http://en.wikipedia.org/wiki/Floating_point#Internal_representation
So I got a question in my mind: Why C standard choose the requirement of a range at least 10^(-37) to 10^(+37)
. Of course, there may be a consideration of the speed of computation. But beyond this reason, is there any reason not to use the full 32 bits space?