日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ double float 数值比较

發布時間:2025/5/22 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ double float 数值比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

浮點數在內存中的存儲機制和整型數不同,其有舍入誤差,在計算機中用近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中通常是2)的整數次冪得到,這種表示方法類似于基數為10的科學記數法。
????所以浮點數在運算過程中通常伴隨著因為無法精確表示而進行的近似或舍入。但是這種設計的好處是可以在固定的長度上存儲更大范圍的數。

1、將字符串轉換為float、double過程存在精度損失,只是float、double各自損失的精度不相同而已
????std::string str="8.2";
????float cc=atof(str.c_str());??//cc的值為8.1999998

????std::string str="8.2";
????double cc=atof(str.c_str());??//cc的值為8.1999999999999993

2、將float、double轉換為字符過程中可能存在精度損失,但是通過%.8lf可以規避
???(1)float小數點前后加起來有效數字只有6位。當給定的float有效數在6位以內轉換為字符不會丟失精度,當有效位數大于6位就會存在精度丟失


????//精度沒有丟失
????char buf[100]={'\0'};
????float aa=8000.25;
????sprintf(buf,"%f",aa);???//8000.250000

????//精度沒有丟失
????char buf[100]={'\0'};
????float aa=8.00025;
????sprintf(buf,"%f",aa);???buf = 8.000250

????//精度丟失,存在誤差
????char buf[100]={'\0'};
????float aa=8000.251;
????sprintf(buf,"%f",aa);??//8000.250977

????//精度丟失,存在誤差 此時使用.8lf也無效
????char buf[100]={'\0'};
????float aa=8000.251;
????sprintf(buf,"%.8lf",aa); //8000.25097656

????(2)double小數前后加起來的有效數字只有16位,當給定的double有效數在16位以內轉換為字符串不會丟失精度,當有效位數大于16位湖影公寓存在精度丟失

????存在誤差
????char buf[100]={'\0'};
????double aa=121.437565871234012;
????sprintf(buf,"%.20lf",aa); //121.43756587123401000000

????//沒有誤差
????char buf[100]={'\0'};
????double aa=8000.256165;
????sprintf(buf,"%.8lf",aa);
????std::cout <<buf<<std::endl; //8000.25616500


3、浮點數比較
????用"=="來比較兩個double應該相等的類型,返回真值完全是不確定的。計算機對浮點數的進行計算的原理是只保證必要精度內正確即可。

????我們在判斷浮點數相等時,推薦用范圍來確定,若x在某一范圍內,我們就認為相等,至于范圍怎么定義,要看實際情況而已了,float,和double 各有不同
????所以const float EPSINON = 0.00001;
????if ((x >= - EPSINON) && (x <= EPSINON) 這樣判斷是可取的
????至于為什么取0.00001,可以自己按實際情況定義

???根據上面分析建議在系統開發過程中設計到字符轉換建議采用double類型,精度設置為%.8lf即可,在比較浮點數十建議EPSINON = 0.00000001

轉載于:https://www.cnblogs.com/yelongsan/p/4062718.html

總結

以上是生活随笔為你收集整理的c++ double float 数值比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品视频9 | 91婷婷在线 | 青青草免费公开视频 | 亚洲一区二区三区91 | 可以免费看毛片的网站 | bbbbbxxxxx性欧美 | a级片在线看 | 国产亚洲精品精品国产亚洲综合 | 国产激情无码一区二区三区 | 久久久久国产精品一区二区 | 夜夜草影院| 亚洲影视在线观看 | 日韩av资源站 | 精品国产1区| 女~淫辱の触手3d动漫 | 视频在线观看免费大片 | 精品免费一区二区三区 | 日本啪啪片 | 精品一区二区在线观看视频 | 动漫精品一区二区三区 | 99久久99久久久精品棕色圆 | 精品国产久 | 99久久免费看精品国产一区 | 国产女女调教女同 | 女人被男人操 | 一级片aaaaa 国产又黄又粗又猛又爽 | 91福利社在线观看 | 麻豆视频污 | 国产精品传媒麻豆hd | 精品一区二区三区不卡 | 欧美亚洲另类图片 | 久久人人做| 尤物精品视频 | 性高潮久久久久久久久久 | 91漂亮少妇露脸在线播放 | 成年人免费观看视频网站 | 小视频免费在线观看 | 香蕉视频在线观看免费 | 四虎黄色 | 亚洲网站色 | www在线视频| 青草视频免费观看 | 一区二区三区四区精品 | 中文人妻熟妇乱又伦精品 | 岛国大片在线免费观看 | 久久国产亚洲精品无码 | 精品www久久久久久奶水 | 久久久久噜噜噜亚洲熟女综合 | 成人依依 | 国产免费一区二区三区在线播放 | 日本福利一区二区 | 日日久| 18成人免费观看网站 | 亚洲精品1区2区 | 青草视频在线免费观看 | 中文写幕一区二区三区免费观成熟 | 国产99久| av 一区二区三区 | 99久久精品国产一区二区三区 | 福利视频在线看 | 日韩亚洲在线 | 亚洲污视频 | 精品久久网站 | 久久久1 | www.欧美一区二区三区 | 九九午夜视频 | 青青在线播放 | 色涩av| 一本大道久久久久精品嫩草 | 高清视频一区二区三区 | 天天久久久 | 久久久久亚洲av成人无码电影 | 国产成人8x视频一区二区 | 国产在线天堂 | 伊人久操 | 精品亚洲一区二区三区四区五区 | 午夜在线观看视频网站 | 五月婷婷一区 | 99热精品国产| 一区二区三区亚洲精品 | 麻豆一区二区三区 | 日韩手机视频 | 热久久伊人 | av网址网站 | 丁香花电影免费播放在线观看 | 亚洲熟女综合一区二区三区 | www.色呦呦 | 亚洲国产精品成人无久久精品 | 国产精选自拍 | 天天天天躁天天爱天天碰2018 | 亚洲av无码精品一区二区 | 久久婷婷五月综合色吧 | 一区二区三区福利视频 | 成人7777| 久91 | 中文字幕在线观看免费 | 久草热视频 | 亚洲一区二区三区国产 | 日韩欧美第一区 |