Hola Jorge. Hay muchas representaciones de números de coma flotante, cada compilador podría utilizar la suya, pero la más común es la que define el estándar IEEE 754. Esta especificación reserva un bit para el signo (0 positivo, 1 negativo). En la wikipedia se describe el formato de punto flotante IEEE 754 y hay una nota de aplicación de microchip que describe una versión reducida de 24 bits.
Los compiladores de C/C++ no admiten algo como 'signed float', por lo que en este caso el bit de signo no tiene como irse al exponente, desconozco lo que ocurre con otros lenguajes.
Espero que te sirva.-