¿Cómo puedo obtener los primeros n bits de número de coma flotante como entero en python

Supongamos que tengo0.625 como un punto flotante es0b.101, así que si quiero los primeros dos bits de eso como un entero, es decir0b10 = 2, ¿cómo puedo lograr esto en python?

Intenté llevar el número a una potencia de 2 y enviarlo a un int, así que si quieron bits que hagoint(0.625*(2**n)). Pero eso no está funcionando para mí.

El problema ocurre cuando tengo un número mayor que1 entonces24.548838022726972 me dará392 más bien que12 para los primeros cuatro bits. (24.548838022726972 = 0b11000.100011001...)

Respuestas a la pregunta(4)

Su respuesta a la pregunta