El flotador no cambia cuando le agrego 0.1

Soy bastante novato en c. Así que cuando escribo una demostración de juego pequeño, me enfrento a un problema realmente extraño.

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

La afirmación anterior no puede ser aprobada. Muy extraño.
Mi entorno es mac os ml. gcc 4.2.1