C++ requirements for significant digits amount to float being at
least 32 bits, double being at least 48 bits and certainly no smaller than float, and long double being at least as big as double.
and the following is an example section of a float.h header file:
// the following are the minimum number of significant digits
#define DBL_DIG 15 // double
#define FLT_DIG 6 // float
#define LDBL_DIG 18 // long double
I do not understand this. I believe I understand what a significant digit is. If your floating-point number is 847,000 then there are 3 significant digits (847). But what I don't understand is how a floating-point type has a minimum number of significant digits. If float has its minimum number of significant digits set to 6, then how could it every present a number like 1.5, where there is only two significant digits. What am I missing here?