Avatar ·

Comment imaginer Float sous forme d'Integer sans perte d'information ?

📁 Sujets avancés sur Python, aide, IA

Il y a une tâche de transformation de float en valeurs de type int (une valeur float en une valeur int) sans perte d'information, c'est-à-dire que la transformation inverse peut être effectuée plus tard. Comment cela peut-il être implémenté ?

Important

Il est nécessaire que l'ordre et la somme soient préservés,
c'est-à-dire pour tout a, b : float doit être vérifié :

  to_float(to_int(a) + to_int(b)) == a + b to_int(a) < to_int(b) si a < b, etc.  

J'ai trouvé sur le SO anglophone où la structure des valeurs float est représentée, mais je ne peux pas imaginer comment l'appliquer à ma tâche.

Note : NaN et Inf n'ont pas besoin d'être transformés dans ma tâche.


Tentatives de résolution

L'utilisation de la sérialisation avec pickle.dumps, puis l'obtention de int