在 Katai 中表示 Double 值
Posted
技术标签:
【中文标题】在 Katai 中表示 Double 值【英文标题】:representing Double values in Katai 【发布时间】:2020-04-27 04:37:19 【问题描述】:我需要在我的 ksy 文件中读取的一些值是双精度值,我假设它是一个 binary64 结构。浮点数的本机数据类型不会延伸那么远。有没有人设法在 Kaitai 中表示这种数据类型?
【问题讨论】:
【参考方案1】:“binary64”是一个普通的IEEE 754双精度浮点数,占用64位=8字节。
绝大多数语言都完美支持它们,随后,Kaitai Struct 为它们提供了内置支持,如 type: f8
(浮点型,8 字节长)。
如果您对较大的浮点值(binary128、binary256 — 即四倍或八倍精度)比较感兴趣,由于在大多数目标语言中缺乏对这些类型的标准支持,KS 中没有对它们的内置支持.如果您想要类似的东西,推荐的方法是用您选择的目标语言将其实现为opaque type。这可能需要您引入一些使用某种软件仿真/复杂算法来实现这种类型的外部库——因为截至 2020 年,hardware support 在商品 CPU(如 Intel 或 ARM)中似乎几乎不存在。
有关这些的更多详细信息,请参阅issue #101。
【讨论】:
以上是关于在 Katai 中表示 Double 值的主要内容,如果未能解决你的问题,请参考以下文章
如何在java中的内存中表示null [duplicate]
audition中表示声音大小的db是啥意思,为啥上下都用0表示?