Liczba cyfr znaczących dla typu zmiennoprzecinkowego

Opis typufloat w C wspomina, że ​​liczba cyfr znaczących to6. Jednak,

float f = 12345.6;

a następnie drukowanie za pomocą printf () nie drukuje12345.6, to drukuje12345.599609. Więc co robi „6 znaczących cyfr” (lub „15 w przypadku adouble„) oznacza dla typu zmiennoprzecinkowego?