C doesn't mandate any specific floating-point format. It doesn't even say that floating-point types must be in binary, so it's valid for an implementation to use decimal floats. In fact there are many old floating-point formats that use hexadecimal instead of binary
Just like integer types, C just specifies various limits of floating-point types like the radix or the number of digits in the significand and exponent parts like
- FLT_RADIX
- FLT_MANT_DIG, DBL_MANT_DIG, LDBL_MANT_DIG
- FLT_MIN_EXP, DBL_MIN_EXP, LDBL_MIN_EXP
- FLT_MAX_EXP, DBL_MAX_EXP, LDBL_MAX_EXP
- ...
So you can use them if you just want to know how many bits are used for representing the mantissa and the exponent of float and double values
For more details read C11's 5.2.4.2.2 Characteristics of floating types <float.h>
If you want to make sure that the implementation uses IEEE-754 then you can check it with __STDC_IEC_559__
See also