The C language has three mandatory real floating point types,
float f = 0.314f; /* suffix f or F denotes type float */ double d = 0.314; /* no suffix denotes double */ long double ld = 0.314l; /* suffix l or L denotes long double */ /* the different parts of a floating point definition are optional */ double x = 1.; /* valid, fractional part is optional */ double y = .1; /* valid, whole-number part is optional */ /* they can also defined in scientific notation */ double sd = 1.2e3; /* decimal fraction 1.2 is scaled by 10^3, that is 1200.0 */
<float.h> defines various limits for floating point operations.
Floating point arithmetic is implementation defined. However, most modern platforms (arm, x86, x86_64, MIPS) use IEEE 754 floating point operations.
C also has three optional complex floating point types that are derived from the above.