考虑到附件F没有得到支持,执行也没有遵循IEEE 754。
那么,对这些操作符产生浮点异常的C11要求是什么:
Equality operators: == !=
Relational operators: > >= < <=我找不到这样的要求。这是否意味着它们没有被定义?
注意:至少对于“算术操作”,我们有这样的特性(C11,5.2.4.2.2浮点类型的特性):
安静的NaN几乎通过所有算术操作传播,而不引发浮点异常;当作为算术操作数发生时,信令NaN通常会引发浮点异常。
然而,它说的是“几乎每一个算术运算”,即w/o确切地提到了哪一个。
发布于 2021-11-19 18:09:37
我找不到这样的要求。这是否意味着它们没有被定义?
我也找不到任何这样的要求,也没有任何可据以制定这些要求的规定。在这方面,不妨指出,脚注22 (在某种程度上)澄清了引述的5.2.4.2.2/3节:
IEC 60559:1989指定静音和信令NaNs。对于不支持IEC 60559:1989的实现,静音NaN和信令NaN这两个术语将适用于具有类似行为的编码。
在这种“相似”的背景下,“几乎每一个算术运算”都应该理解为不支持附件F的实现。
据我所知,没有给出任何细节,我认为这是故意的。传统上,C支持各种各样的硬件,特别是浮点行为.通常,C实现不会将程序与运行它们的FP硬件的行为隔离开来。
https://stackoverflow.com/questions/70037784
复制相似问题