青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-4  評論-40  文章-117  trackbacks-0

林銳博士在《高質量C++編程指南》中說過:“不可將浮點變量用“==”或“!=”與數字比較,應該設法轉化成“>=”或“<=”此類形式”,因為那是“隱含錯誤的寫法”。應該設法轉化成下面這樣的寫法:

-------------------------------

const float EPSINON = 0.00001;            //精度限制

if((x >= -EPSINON) && (x <= EPSINON))    //表示x為“零值”

-------------------------------

剛看到的時候沒太在意,因為感覺平時編程極少會遇到要比較兩個浮點值是否相等的情況。后來得空一想,又想不明白這樣寫為什么是錯的。正巧Wayne過來串門,問他一下,結果他也不太清楚。那好吧,不知道原因,那就先寫個程序試一下吧,看到底是不是錯誤寫法:

-------------------------------

#include <iostream>

using std::cout;

using std::endl;


int main()

{

  double ff = 3;

  double aa = 3.6;

  double tmp = aa / 1.2 - ff;

  if (tmp != 0)

  {

    cout << "1" << endl;

  }

  else

  {

    cout << "2" << endl;

  }

  return 0;

}

-------------------------------

在我們看來,上面程序的輸出結果應該是2的,但是很遺憾,結果是1?!以?/font>Cygwin中用g++(gcc版本為3.4.4)測試時就是這個結果,但是用VC6.0測試時就是輸出2了??梢娺@種寫法不能保證一定正確,果然是隱含錯誤啊。再來試試林銳博士的辦法:

-------------------------------

#include <iostream>

using std::cout;

using std::endl;


int main()

{

  double ff = 3;

  double aa = 3.6;

  double tmp = aa / 1.2 - ff;

  if (tmp < 1e-9999999999999999 && tmp > -1e-9999999999999999)

  {

    cout << "1" << endl;

  }

  else

  {

    cout << "2" << endl;

  }

  return 0;

}

-------------------------------

這下正確了。但是精度最多可以到多少呢?根據我的測試,在上面的if語句中不論寫多少個“9”都不會有問題,只要不超出編譯器所約束的一行中最大字符數限制就可以了。我用Cygwin中的g++(gcc版本為3.4.4)測試的時候最多寫了307209也沒有問題,不知道后面到底還可以加多少;但把這個源文件用VC6.0打開時就不行了,提示說“這個文件包含最大2048個字符的長行。行將換行。”,編譯自然也是通不過的了。

現在再想想就明白前一種寫法為什么不對了,在計算機組成原理中我們學過計算機對浮點數的記錄和處理方法。在一系列地計算過程當中,總是少不了“對階”的操作,這就引入了計算精度的問題。所以就有很多我們人類看著是相等的東西,給計算機看就不等了。

posted on 2008-03-12 17:13 李陽 閱讀(664) 評論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              日韩西西人体444www| 欧美激情一区二区三区| 欧美国产一区二区三区激情无套| 亚洲色图在线视频| 欧美破处大片在线视频| 亚洲三级性片| 亚洲国产网站| 欧美成人免费大片| 欧美在线一二三区| 国产日韩欧美日韩大片| 欧美在线观看www| 欧美一级成年大片在线观看| 国产精品免费看| 亚洲激情在线观看视频免费| 永久91嫩草亚洲精品人人| 午夜亚洲福利在线老司机| 免费观看成人www动漫视频| 欧美 日韩 国产 一区| 久久精品色图| 久久精品国产一区二区三区| 一区二区在线观看av| 美女性感视频久久久| 老司机凹凸av亚洲导航| 亚洲电影在线免费观看| 亚洲丁香婷深爱综合| 欧美麻豆久久久久久中文| 亚洲欧美激情一区二区| 欧美伊人久久久久久久久影院| 在线色欧美三级视频| 亚洲人成在线免费观看| 国产精品一区二区a| 老司机久久99久久精品播放免费 | av成人免费观看| 国产精品你懂的在线| 久久精品视频在线播放| 欧美岛国在线观看| 亚久久调教视频| 美女主播一区| 欧美与黑人午夜性猛交久久久| 老司机午夜免费精品视频| 亚洲视频日本| 男女精品网站| 久久岛国电影| 欧美日韩精品免费| 美脚丝袜一区二区三区在线观看| 欧美午夜精品久久久久久孕妇| 久热综合在线亚洲精品| 国产精品裸体一区二区三区| 亚洲国产欧美日韩另类综合| 在线亚洲精品福利网址导航| 国产一区二区三区四区五区美女 | 99国内精品久久| 性色av一区二区三区在线观看 | 亚洲一区影院| 亚洲狼人综合| 久久精精品视频| 亚洲午夜精品一区二区| 美国十次成人| 看欧美日韩国产| 99精品欧美一区二区蜜桃免费| 国产一级揄自揄精品视频| 亚洲人成人一区二区三区| 好看的av在线不卡观看| 99re6这里只有精品视频在线观看| 国产一区二区av| 一本色道久久99精品综合| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 男人天堂欧美日韩| 国产日本欧美一区二区| 妖精视频成人观看www| 亚洲人线精品午夜| 毛片基地黄久久久久久天堂| 久久精品视频va| 国产日韩精品一区二区三区在线| 99视频有精品| 亚洲视频一二区| 欧美日韩精品一区二区天天拍小说| 欧美韩日一区| 亚洲精品乱码久久久久久| 久久久噜噜噜久久中文字免| 久久免费精品视频| 国产综合网站| 久久精品毛片| 免费久久精品视频| 在线成人国产| 久久综合给合| 亚洲欧洲三级| 欧美高清视频在线播放| 欧美阿v一级看视频| 在线观看一区欧美| 久久婷婷人人澡人人喊人人爽| 久久伊人精品天天| 伊人久久综合97精品| 久久久久九九视频| 欧美凹凸一区二区三区视频| 亚洲国内欧美| 欧美久久婷婷综合色| 亚洲日本在线视频观看| 亚洲美女免费精品视频在线观看| 欧美电影免费观看高清| 亚洲精品国产系列| 亚洲永久网站| 国产精品区一区二区三| 欧美在线免费观看| 欧美成人免费在线视频| 日韩视频一区二区在线观看 | 欧美日韩美女在线| 亚洲私人影院在线观看| 久久国产一区| 亚洲一区二区三区四区五区黄| 欧美在线日韩在线| 99在线热播精品免费| 国内激情久久| 国产精品久久久久久久久久三级 | 久久激情中文| 亚洲一区在线观看免费观看电影高清| 在线看一区二区| 国产亚洲欧美一区| 国产精品国产三级国产aⅴ无密码| 久久综合成人精品亚洲另类欧美| 在线亚洲一区| 亚洲精品国产精品乱码不99| 国产欧美精品一区二区三区介绍| 欧美电影免费观看大全| 久久久久女教师免费一区| 亚洲小说欧美另类婷婷| 亚洲精品乱码久久久久久日本蜜臀| 久久夜色精品国产噜噜av| 校园激情久久| 亚洲欧美在线高清| 一区二区三区久久| 9国产精品视频| 国模精品娜娜一二三区| 国产精品久久网| 国产精品久久久一区麻豆最新章节| 欧美日本免费一区二区三区| 欧美www在线| 免费毛片一区二区三区久久久| 久久精品综合网| 久久精品国产亚洲一区二区三区 | 亚洲精选大片| 亚洲精品永久免费| 亚洲精品综合在线| 99国产一区二区三精品乱码| 亚洲精品一区二区在线| 亚洲经典视频在线观看| 亚洲精品久久久久久久久久久久| 亚洲国产精品小视频| 亚洲二区视频| 亚洲免费成人av| 亚洲一级高清| 欧美一区二区三区四区夜夜大片| 午夜精品久久一牛影视| 欧美在线啊v| 久久综合综合久久综合| 亚洲第一中文字幕在线观看| 最新69国产成人精品视频免费| 亚洲精品久久在线| 亚洲视频导航| 久久精品欧美| 欧美国产亚洲另类动漫| 欧美日韩一区二| 国产免费一区二区三区香蕉精| 国产午夜亚洲精品理论片色戒| 狠狠色丁香婷婷综合久久片| 136国产福利精品导航| aa成人免费视频| 欧美在线精品一区| 免费成人av在线| 99精品国产热久久91蜜凸| 亚洲欧美激情一区| 久久青草欧美一区二区三区| 欧美日本国产精品| 国产欧美日韩一区二区三区在线观看| 黄色成人av网| 在线亚洲伦理| 久久噜噜噜精品国产亚洲综合| 欧美激情一区二区三区成人| 一区二区激情小说| 久久久久久久久久久久久久一区| 欧美日本一道本在线视频| 国产精品一区2区| 91久久精品久久国产性色也91| 亚洲欧美日韩高清| 欧美成人乱码一区二区三区| 亚洲午夜av在线| 免费观看在线综合色| 国产乱码精品一区二区三| 亚洲国产精品传媒在线观看 | 理论片一区二区在线| 欧美激情视频在线播放 | 欧美大学生性色视频| 99国产精品久久久久老师| 欧美一级一区| 欧美美女操人视频| 亚洲电影免费观看高清完整版在线| 欧美三级第一页| 黄色成人av在线| 亚洲视频在线观看网站| 美女视频黄a大片欧美|