浮點數表示法利用科學計數法來表達實數(real),當計算的表達式有精度要求時被使用。例如,計算平方根,或超出人類經驗的計算如正弦和餘弦,它們的計算結果的精度要求使用浮點型。在IEEE標準754之前,業界並沒有一個統一的浮點數標準,直到1985年Intel打算為其的8086微處理器引進一種浮點數協處理器時,才請加州大學伯克利分校的 William Kahan教授──最優秀的數值分析家之一來為8087 FPU設計浮點數格式; 而這個傢伙又找來兩個專家來協助他,於是就有了KCS組合(Kahan, Coonan, and Stone)。他們共同完成了Intel的浮點數格式設計,而且完成地如此出色,以致於IEEE組織決定採用一個非常接近KCS的方案作為IEEE的標準浮點格式。目前,幾乎所有計算機都支持該標準,大大改善了科學應用程式的可移植性。C標準規定的浮點型有float、double、long double,和整型一樣,既沒有規定每種類型占多少位元組,也沒有規定採用哪種表示形式。浮點數的實現在各種平台上差異很大,有的處理器有浮點運算單元(FPU,Floating Point Unit),稱為硬浮點(Hard-float)實現;有的處理器沒有浮點運算單元,只能做整數運算,需要用整數運算來模擬浮點運算,稱為軟浮點(Soft-float)實現。大部分平台的浮點數實現遵循IEEE 754,float型通常是32位,double型通常是64位。 long double型通常是比double型精度更高的類型,但各平台的實現有較大差異。在x86平台上,大多數編譯器實現的long double型是80位,因為x86的浮點運算單元具有80位精度,gcc實現的long double型是12位元組(96位),這是為了對齊到4位元組邊界,也有些編譯器實現的long double型和double型精度相同,沒有充分利用x86浮點運算單元的精度。其它體系結構的浮點運算單元的精度不同,編譯器實現也會不同,例如PowerPC上的long double型通常是128位。