c/c++语言开发共享如果先前将double初始化为零,那么将double比较为零是正确的吗?

我了解到使用==比较双重不是明智的做法。 但是我想知道检查双重是否已经初始化可能是危险的。 例如,知道变量doubleVar如果已初始化则不能为零,这样做是否安全?

 Foo::Foo(){ doubleVar = 0.0; // of type double } void Foo::Bar(){ if(doubleVar == 0){ // has been initialized? //... }else{ //... } } 

    在IEEE-754中,长话短说:

     double d; d = 0.0; d == 0.0 // guaranteed to evaluate to true, 0.0 can be represented exactly in double 

    需要了解更多c/c++开发分享如果先前将double初始化为零,那么将double比较为零是正确的吗?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

     double d; d = 0.1; d == 0.1 // not guaranteed to evaluate to true 

      以上就是c/c++开发分享如果先前将double初始化为零,那么将double比较为零是正确的吗?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980372.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐