W języku C do reprezentowania liczb zmiennoprzecinkowych używa się typu:
Dobrze.
double to typ zmiennoprzecinkowy (podobnie float).Źle.
bool przechowuje wartość logiczną (prawda/fałsz).Źle.
char przechowuje pojedynczy znak.Źle.
int przechowuje liczby całkowite, bez części ułamkowej.Liczby zmiennoprzecinkowe (z częścią ułamkową) reprezentuje w języku C typ
double - oferuje on podwójną precyzję, czyli więcej cyfr znaczących niż float. Oba przechowują liczby rzeczywiste, np. 3.14 czy 2.5e-3, lecz double jest dokładniejszy i częściej domyślny dla literałów z kropką. Dla porównania int trzyma liczby całkowite, więc utraciłby część ułamkową. Dlatego do liczb zmiennoprzecinkowych w C służy typ double.Pozostałe typy nie nadają się do liczb z częścią ułamkową.
char przechowuje pojedynczy znak (a niskopoziomowo małą liczbę całkowitą), więc nie odwzoruje wartości typu 3.14. int trzyma wyłącznie liczby całkowite - przypisanie ułamka spowodowałoby odcięcie części po przecinku. bool przechowuje tylko wartość logiczną (prawda/fałsz), czyli zupełnie inny rodzaj danych. Liczby zmiennoprzecinkowe reprezentuje double (lub float), dlatego to on jest poprawny.