如何解决浮点数:FLT_HAS_SUBNORM为0 =>出现异常值=>未指定行为?
如果@Embedded
并且在执行FP操作(加,乘,除等)期间出现次标准值(或者如果将这些次标准值作为这些FP操作的输入给出),则FP引擎的实现(即HW实现[FPU],SW实现[SW FP库],HW-SW混合实现[使用HW指令并进行附加SW后处理的SW FP库])可以:
问题:有人可以提供正确的论据(如果通过引用FLT_HAS_SUBnorM is 0
/ flash-to-zero
标准来更好地证明这种情况的行为确实属于C
类? >
注意:ISO / IEC 9899:202x(E)工作草案-2020年2月5日N2479:
3.4.4 未指明的行为
行为,这是由于使用了未指定的值或本文档提供两种或两种以上可能性的其他行为所致,并且在任何情况下都不会对所选择的行为施加任何其他要求
解决方法
回复自己。
在这种情况下:
- 行为未明确 。
- 该行为由FP操作的实现定义。因此,行为是实现定义的。
- 由于缺少用于检测和处理次正规数的逻辑(
Itr
为0),因此输出结果为不确定。 - (额外)这种情况应被视为“用户错误”(并且违反了
XXX_HAS_SUBNORM
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。