Wie kann man float als integer ohne Informationsverlust darstellen?
📁 Python, Hilfe, KI
Es gibt die Aufgabe, float-Werte in int-Werte umzuwandeln (ein float-Wert in einen int-Wert) ohne Informationsverlust, d.h., damit später die Rückumwandlung möglich ist. Wie kann man das umsetzen?
Wichtig
Es muss bei dieser Umwandlung die Reihenfolge und die Summe erhalten bleiben,
d.h. für beliebige a, b: float muss gelten:
to_float(to_int(a) + to_int(b)) == a + bto_int(a) < to_int(b) bei a < b usw.Ich habe auf der englischsprachigen SO eine bitweise Darstellung der float-Struktur gefunden, weiß aber nicht, wie ich sie für meine Aufgabe anwenden kann.
Hinweis: NaN und inf werden in meiner Aufgabe nicht verwendet.
Der Link beschreibt die Ursache dieses Fehlers sowie was zu tun ist, wenn ein dem Encoder unbekannter Typ serialisiert werden muss.
Hier gebe ich ein Beispiel für einen Fall, bei dem eine typische Klasse mit einem Satz von Attributen erstellt wird, die serialisiert werden soll.
import jsonclass Person: def __init__(self, name, age, **kwargs): self.name = name self.age = age self.attribute = kwargs or Noneclass PersonEncoder(json.JSONEncoder): def default(self, Anmelden um eine Antwort zu hinterlassen