The C language has three mandatory real ﬂoating point types, float, double, and long double.

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 */*

The header **<float.h>**** **deﬁnes various limits for ﬂoating point operations.

Floating point arithmetic is implementation deﬁned. However, most modern platforms (arm, x86, x86_64, MIPS) use IEEE 754 ﬂoating point operations.

C also has three optional complex ﬂoating point types that are derived from the above.