Como posso obter os primeiros n bits do número de ponto flutuante como número inteiro em python
Suponha que eu tenha0.625
como um ponto flutuante é0b.101
, então, se eu quero os dois primeiros bits como um número inteiro, ou seja,0b10
= 2
, como posso conseguir isso em python?
Eu tentei levar o número para uma potência de 2 e converter para um int, então se eu quisern
pedaços que eu façoint(0.625*(2**n))
. Mas isso não está funcionando para mim.
O problema ocorre quando tenho um número maior que1
tão24.548838022726972
vai me dar392
ao invés de12
para os primeiros quatro bits. (24.548838022726972
= 0b11000.100011001...
)