如何在不丢失信息的情况下将 float 表示为 integer?
📁 python, 帮助, 人工智能
有一个任务是将 float 值转换为 int 类型(一个 float 值对应一个 int 值),且不丢失信息,即之后可以执行反向转换。如何实现这一点?
重要
需要在这种转换中保持顺序和加法,
即对于任意 a, b: float 必须满足:
to_float(to_int(a) + to_int(b)) == a + bto_int(a) < to_int(b) 当 a < b 时,等等。我在英文 Stack Overflow 上找到了按位表示 float 值结构的方法,但不知道如何将其应用于我的任务。
注意:在我的任务中不需要转换 NaN 和 inf。
尝试的解决方案
最初想到的是使用 pickle.dumps 进行序列化,然后从这些字节中获取 int,但这完全不高效。