c – 比较浮点0
发布时间:2020-12-16 03:46:36 所属栏目:百科 来源:网络整理
导读:如果foo是float类型,则以下表达式是有效/推荐的吗? (0.0f == foo * float(0)) 无论foo的值如何,它都具有预期的(数学)值吗? C标准是定义行为还是特定于实现? 解决方法 好吧,首先它不是C标准的问题.相反,问题在于您的浮点模型标准(最可能是IEEE). 对于IEEE
如果foo是float类型,则以下表达式是有效/推荐的吗?
(0.0f == foo * float(0)) 无论foo的值如何,它都具有预期的(数学)值吗? C标准是定义行为还是特定于实现? 解决方法
好吧,首先它不是C标准的问题.相反,问题在于您的浮点模型标准(最可能是IEEE).
对于IEEE浮点数,这可能是安全的,因为float(0)应该导致与0.0f相同的数字,并且乘以任何其他数字也应该是0.0f. 不安全的是做其他浮点运算(例如:用非整数加法和减法)并用0.0f检查它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |