Das hängt vom Compiler ab ...
für gccavr beispielsweise ist float == double, was, wie wir kürzlich in
einer Diskussion hier herausgefunden haben, sogar ANSI-C (nach K&R, 2.
Auflage) - konform ist.
Da keines der Formate intern mit einer Dezimaldarstellung arbeitet
(sondern mit binärer Mantisse & Exponent), sieht die Konvertierung
höchstwahrscheinlich so aus, daß die am wenigsten signifikanten Bits
der Mantisse gestrichen werden.
Ich befürchte, daß das Verhalten obendrein auch noch
implementierungsspezifisch sein wird; wenn ich mich irre, wird mir
sicherlich wer widersprechen.