Floating point 在IEEE 754标准中,哪里指定了'Inf*0'的结果?

Floating point 在IEEE 754标准中,哪里指定了'Inf*0'的结果?,floating-point,precision,numeric,ieee-754,Floating Point,Precision,Numeric,Ieee 754,IEEE 754-2019标准第6.1节规定: 浮点运算中的无穷性是从实数运算的极限情况推导出来的,当实数运算的操作数具有任意大的数量级时,存在这样的极限。应以仿射意义解释无限,即:−∞ < {每个有限数}Inf。如果y[n]=A/n,那么y->0。但是x[n]*y[n]=A so x*y->A.if y[n]=0*n,那么y->0。这个推理有什么错?非常感谢!

IEEE 754-2019标准第6.1节规定:

浮点运算中的无穷性是从实数运算的极限情况推导出来的,当实数运算的操作数具有任意大的数量级时,存在这样的极限。应以仿射意义解释无限,即:−∞ < {每个有限数}<+∞.

然而,在我使用的所有实现中,
Inf*0=NaN
,这似乎与引用的文本相矛盾


在IEEE 754标准中,哪里是指定的
Inf*0
的结果?

IEEE 754-2008 7.2规定:

当且仅当没有有效定义的结果时,才会发出无效操作异常信号。在这些情况下 操作数对于要执行的操作无效

对于产生浮点格式结果的操作,发出无效操作异常信号的操作的默认结果应为安静的NaN,该NaN应提供一些诊断信息(见6.2)。这些行动是:


b) 乘法:乘法(0,∞) 还是乘法(∞, 0)


754-2019的最终草案与上面引用的部分相同。

这回答了你的问题吗?没有矛盾,因为Inf*0没有限制意义。例如,如果x[n]=n,那么x->Inf。如果y[n]=A/n,那么y->0。但是x[n]*y[n]=A so x*y->A.if y[n]=0*n,那么y->0。这个推理有什么错?非常感谢!