gpt4 book ai didi

c++ - IEEE 浮点和内存中的快速浮点表示

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:56 25 4
gpt4 key购买 nike

Analog Devices 的 BFF-533 处理器不提供原生浮点支持,但提供浮点仿真。

使用 IDE VisualDSP++,用户可以在高性能浮点和严格的 IEEE 合规性之间进行选择。

据我了解,the difference between these two 会导致内存中浮点值的不同表示,因此我进行了以下测试:

union TestType
{
float hello;
char test[4];
};

TestType tt;
tt.hello = 0.00123456789;

我用这两个选项编译并运行了它,期望在测试数组中看到不同的值,但每次运行我都得到相同的值:

enter image description here

有人可以解释为什么我在两次运行中都看到了 IEEE 表示吗?

最佳答案

您引用的文档讨论了用户定义的 fastfloat16 类型。您在此处使用 native float 类型。无论 VisualDSP 设置如何,我都不认为它们是等效的。

“严格的 IEEE 合规性”通常被解释为“即使是边缘情况也能得到正确处理”。 IEE754 的边缘情况是非正规数、被零除、无穷大、非数字等。例如,在 IEEE754 NaN != NaN 中。这意味着您不能进行快速的 32 位比较。另一个例子是 IEEE754 要求基本数学运算精确到最后一位。使用 IEEE754 浮点布局可以实现显着的加速,但不是 IEEE754 数学。

关于c++ - IEEE 浮点和内存中的快速浮点表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586128/

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