Float ändert sich nicht, wenn ich 0.1 hinzufüge

Ich bin ein ziemlicher Neuling bei c. Wenn ich also eine Demo für ein kleines Spiel schreibe, stoße ich auf ein wirklich seltsames Problem.

 void testC()
 {
     float a = 825300160;
     float b = a + 0.1;
     assert(a != b);
 }

Die obige Aussage kann nicht bestanden werden. Sehr eigenartig.
Meine Umgebung ist Mac OS ml. gcc 4.2.1

Antworten auf die Frage(3)

Ihre Antwort auf die Frage