【问题标题】:How to parse an 80-bit floating point number in Crystal?如何在 Crystal 中解析 80 位浮点数?
【发布时间】:2021-08-26 18:44:38
【问题描述】:

我想从IO 对象中读取80-bit floating point number (according to the IEEE 754 standard) 并将其存储在可用类型中,例如BigDecimalFloat64 或类似的类型。 (读完数字后,我不需要保持完整的精度。这就是为什么我也可以使用Float64。)

现在,我正在自己计算这个数字。 Crystal 的标准库是否有任何内置方法可以做到这一点?

谢谢。

【问题讨论】:

  • IO中的数字是怎么表示的?二进制还是十进制?
  • 以二进制表示。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 看来你必须自己写,这里有一个例子:github.com/brianmhunt/float80/blob/master/src/float80.js(我认为 BigNumber 等价于 BigDecimal)

标签: floating-point crystal-lang


【解决方案1】:

Crystal 的标准库没有内置支持读取 80 位或任意宽度的浮点数二进制表示。开箱即用仅支持语言的原始类型(Float32 和 Float64)(请参阅IO::ByteFormat)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2016-10-19
    • 2020-12-18
    相关资源
    最近更新 更多