Como representar float como integer sem perda de informação?
📁 python, ajuda, IA
Há uma tarefa de converter valores float em valores do tipo int (um valor float em um valor int) sem perda de informação, ou seja, para que depois seja possível realizar a conversão inversa. Como isso pode ser implementado?
Importante
É necessário que, durante essa conversão, a ordem e a soma sejam preservadas,
ou seja, para quaisquer a, b: float deve valer:
to_float(to_int(a) + to_int(b)) == a + bto_int(a) < to_int(b) quando a < b etc.Encontrei no SO em inglês uma representação bit a bit da estrutura de valores float, mas não consigo imaginar como aplicá-la à minha tarefa.
Nota: NaN e inf na minha tarefa não precisam ser convertidos.
Tentativas de solução
Inicialmente, pensei em serialização com pickle.dumps e depois obter int desses bytes, mas isso não é nada eficiente.