assert(somefloat*0.0==0.0);
在Multiply by 0 optimization年,据说双a = 0.0和双a = -0.0并不严格地说同样的事情.
所以我想知道这是否会导致某些平台上的问题,例如上述测试的结果可能取决于蜜蜂的阳性或阴性.
解决方法 如果您的实现使用IEEE 754算术(大多数),则正和负0将相等.由于您的表达式的左侧只能为正值或负值为有限的a,断言将始终为真.如果它使用某种其他类型的算术,那么只有实现者,希望实现特定的文档可以告诉你.可以说(见评论),标准的措词可以被认为意味着他们必须在任何情况下比较平等,当然没有一个理智的实施.
总结以上是内存溢出为你收集整理的c – 对于浮点值a:对于a的有限值,a * 0.0 == 0.0总是为true?全部内容,希望文章能够帮你解决c – 对于浮点值a:对于a的有限值,a * 0.0 == 0.0总是为true?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)