¿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...
)