gpt4 book ai didi

java - Java 中的 x86 80 位浮点类型

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:29:52 25 4
gpt4 key购买 nike

我想在 Java 中模拟 x86 扩展精度类型并执行算术运算和转换为其他类型。

我可以尝试使用 BigDecimal 来实现它,但是涵盖所有围绕 NaN、无穷大和强制转换的特殊情况可能是一项乏味的任务。我知道一些库提供的其他浮点类型的精度高于 double ,但我希望具有与 x86 80 位浮点相同的精度。

有没有提供这种浮点类型的Java库?如果没有,您能否提供其他提示,以比提出自定义 BigDecimal 解决方案更轻松地实现此类数据类型?

最佳答案

如果您知道您的 Java 代码实际上将在 x86 处理器上运行,请在汇编(或 C,如果 C 编译器支持的话)中实现 80 位算法并使用 JNI 调用。

如果您的目标是特定的非 x86 平台,请查看 qemu 代码。应该有一些方法可以只删除执行 80 位浮点运算的部分。 (编辑:qemu 的实现是 SoftFloat 。)。用 JNI 调用它。

如果您真的想要跨平台的纯 Java 80 位算法,您可能仍然可以将它与开源 CPU 模拟器中的 C 实现进行比较,以确保您解决了正确的极端情况。

关于java - Java 中的 x86 80 位浮点类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33419039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com