小编Ste*_*ven的帖子

c ++附加标识不安全示例(a + 0.0!= a)

MSDN文章中,它提到了启用fp:fast模式时,添加标识(a±0.0 = a,0.0-a = -a)等操作是不安全的.a+0 != a在这种模式下有什么例子吗?

编辑:正如下面提到的那样,这种问题通常在进行比较时出现.我的问题来自比较,psedocode如下所示:

for(i=0;i<v.len;i++)
{
  sum+=v[i];
  if( sum >= threshold) break;
}
Run Code Online (Sandbox Code Playgroud)

添加0(v[i])值后它会中断.在v[i]从计算不是,它被分配.我知道如果我v[i]是从计算开始,那么舍入可能会发挥作用,但为什么即使我给出v[i]零值,我仍然有这个sum < threshold但是sum + v[i] >= threshold

c++ floating-point unsafe

7
推荐指数
1
解决办法
517
查看次数

标签 统计

c++ ×1

floating-point ×1

unsafe ×1