Rango de magnitud para flotante en lenguaje de programación c?

En el libro The C Programming Language de Dennis Ritchie, se menciona que "un número flotante es típicamente una cantidad de 32 bits, con al menos seis dígitos significativos y una magnitud generalmente entre 10 ^ -38 y 10 ^ + 38".

¿Cómo es eso posible ya que solo tenemos 32 bits? ¿No debería ser el límite superior de 2 ^ 32? Intenté imprimir un flotante haciendo un bucle y multiplicando un flotante por 10, 38 veces y esta fue la salida 100000006944061730000000000000000000000.000000. También tiene que hacer un seguimiento de la señal, entonces, ¿cómo se almacena todo esto en solo 32 bits?

Respuestas a la pregunta(1)

Su respuesta a la pregunta