国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

float、double類(lèi)型的轉(zhuǎn)化和判斷為零問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了float、double類(lèi)型的轉(zhuǎn)化和判斷為零問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、將字符串轉(zhuǎn)化為float、double

浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)機(jī)制和整形數(shù)據(jù)不同,有舍入誤差,在計(jì)算機(jī)中用近似表示任意某個(gè)實(shí)數(shù)。具體來(lái)說(shuō),這個(gè)數(shù)由一個(gè)整數(shù)或定點(diǎn)數(shù)(即尾數(shù))乘以某個(gè)基數(shù)(計(jì)算機(jī)中通常是2)的整數(shù)次冪得到。這種表示方法類(lèi)似于基數(shù)為10的科學(xué)計(jì)數(shù)法。所以浮點(diǎn)數(shù)在運(yùn)算過(guò)程中隨著因?yàn)闊o(wú)法精確表示而進(jìn)行近似或舍入。但是這種設(shè)計(jì)的好處是可以在固定的長(zhǎng)度上存儲(chǔ)更大范圍的數(shù)。

轉(zhuǎn)化過(guò)程存在精度損失,只是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判斷是否等于0

float是32位,double是64位。float32位中,有1位符號(hào)位,8位指數(shù)位,23位尾數(shù)位。double64位中,1位符號(hào)位,11位指數(shù)位,52位尾數(shù)位。

一般float型只能精確到小數(shù)到后六位即1e-6,將float型的數(shù)a的絕對(duì)值abs(a)與1e-6比較,如果abs(a)比1e-6還要小的話(huà)就可以認(rèn)為a的值為零,因?yàn)樾?shù)六位以后是不精確的,是沒(méi)有意義的。

比如數(shù)0.0000001雖然確實(shí)不等于零,但是第七位小數(shù)1是沒(méi)有意義的就可以認(rèn)為這個(gè)數(shù)等于0。

float,double分別遵循R32-24,R64-53的標(biāo)準(zhǔn)。所以float的精度誤差在1e-6;double精度誤差在1e-15,所以要判斷一個(gè)單精度浮點(diǎn)數(shù):則是if( abs(f) <= 1e-6);要判斷一個(gè)雙精度浮點(diǎn)數(shù):則是if( abs(f) <= 1e-15 );若小于,為0,大于,不為0 。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-722753.html

    float a = 0;
    if(fabs(a) < 1e-6) 
    {
        printf("%f\n",fabs(a));
        printf("float Equal 0!\n");
    }
    else
    {
        printf("%f\n",fabs(a));
        printf("float not Equal 0!\n");
    }
    
    double b = 0; 
    if(fabs(b) < 1e-15)
    {
        printf("%f\n",fabs(a));
        printf("double Equal 0!\n");
    }
    else
    {
        printf("%f\n",fabs(a));
        printf("double not Equal 0!\n");
    }

到了這里,關(guān)于float、double類(lèi)型的轉(zhuǎn)化和判斷為零問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C語(yǔ)言中,float跟double的區(qū)別及用法

    C語(yǔ)言中,float跟double的區(qū)別及用法

    顧得泉: 個(gè)人主頁(yè) 個(gè)人專(zhuān)欄: 《Linux操作系統(tǒng)》??《C/C++》??《LeedCode刷題》 鍵盤(pán)敲爛,年薪百萬(wàn)! float和double都是用來(lái)表示浮點(diǎn)數(shù)的數(shù)據(jù)類(lèi)型,但是它們之間有一些區(qū)別: ? ? ? ?存儲(chǔ)大小:float占4個(gè)字節(jié)(32位),double占8個(gè)字節(jié)(64位)。 ? ? ? ?精度:double比f(wàn)loat精度

    2024年02月06日
    瀏覽(22)
  • c語(yǔ)言中啥時(shí)候用double啥時(shí)候用float?

    c語(yǔ)言中啥時(shí)候用double啥時(shí)候用float?

    一般來(lái)說(shuō),可以使用double來(lái)表示具有更高精度要求的 浮點(diǎn)數(shù) ,因?yàn)樗梢源鎯?chǔ)更大范圍的數(shù)值并且具有更高的精度。 最近很多小伙伴找我,說(shuō)想要一些c語(yǔ)言資料,然后我根據(jù)自己從業(yè)十年經(jīng)驗(yàn),熬夜搞了幾個(gè)通宵,精心整理了一份「c語(yǔ)言專(zhuān)業(yè)入門(mén)到高級(jí)教程+工具包」,點(diǎn)

    2024年02月08日
    瀏覽(20)
  • 【開(kāi)發(fā)問(wèn)題】flink-cdc不用數(shù)據(jù)庫(kù)之間的,不同類(lèi)型的轉(zhuǎn)化

    【開(kāi)發(fā)問(wèn)題】flink-cdc不用數(shù)據(jù)庫(kù)之間的,不同類(lèi)型的轉(zhuǎn)化

    我一開(kāi)始是flink-cdc,oracle2Mysql,sql 我一開(kāi)始直接用的oracle【date】類(lèi)型,mysql【date】類(lèi)型,sql的校驗(yàn)通過(guò)了,但是真正操作數(shù)據(jù)的時(shí)候報(bào)錯(cuò),告訴我oracle的數(shù)據(jù)格式的日期數(shù)據(jù),不可以直接插入到mysql格式的日期數(shù)據(jù),說(shuō)白了就是數(shù)據(jù)格式不一致導(dǎo)致的 我想的是既然格式不對(duì)

    2024年02月12日
    瀏覽(25)
  • 涉及float和double

    涉及float和double

    它們會(huì)分成小數(shù)部分和指數(shù)部分分別存儲(chǔ)。小數(shù)部分的有效位數(shù)越多,精度就越高,指數(shù)部分占位越多,能表示的數(shù)值范圍越大。 一般float是4個(gè)字節(jié),double是8個(gè)字節(jié)。 一般float的精度比double的大一些。 double的數(shù)值表示范圍遠(yuǎn)遠(yuǎn)大于float。 該結(jié)論來(lái)源于譚浩強(qiáng)《C語(yǔ)言設(shè)計(jì)》的

    2024年02月07日
    瀏覽(29)
  • 【C++】float / double 與 0 值比較

    【C++】float / double 與 0 值比較

    當(dāng)然使用普通的比較沒(méi)有問(wèn)題,如果不考慮精度的話(huà),可以使用 但是,在某些情況下可能出錯(cuò)。 1.1 - float 與 double 實(shí)際存儲(chǔ) float 與 double 在計(jì)算機(jī)中存儲(chǔ)的內(nèi)容可能與想象中等于代碼賦予的字面值不同,如下 因此與 0 值的比較不可以單純比較 == 0.0 1.2 - C 語(yǔ)言與 C++ 中不同 然

    2024年02月13日
    瀏覽(16)
  • C語(yǔ)言字符串轉(zhuǎn)換double等類(lèi)型(sscanf,atof,strod)

    C語(yǔ)言字符串轉(zhuǎn)換double等類(lèi)型(sscanf,atof,strod)

    例子: 注意: 忽略空格 ? 例子: 注意: sscanf解析字符串時(shí),空格通常被用作分隔符,可以用它來(lái)分隔字符串中的不同部分。 例如,以下代碼將把字符串\\\"123 456\\\"中的兩個(gè)整數(shù)讀入a和b中,空格用作分隔符: 在這個(gè)例子中,sscanf會(huì)忽略字符串中的多余空格,并將\\\"123\\\"解析為a的

    2024年02月14日
    瀏覽(21)
  • Gson int類(lèi)型被轉(zhuǎn)換成double問(wèn)題解決(完美解決)

    1.1、BaseResponse類(lèi) 1.2、不做任何處理,直接用Gson.fromJson解析 1.3、解析結(jié)果 1.4、問(wèn)題 Int類(lèi)型的\\\"ints\\\"被轉(zhuǎn)換成了double類(lèi)型、Long類(lèi)型的\\\"longs\\\"也被轉(zhuǎn)換了 二、解決方案 2.1、舊的(網(wǎng)上千篇一律的復(fù)制方案, 其實(shí)沒(méi)有任何卵用 ) 網(wǎng)上千篇一律就是新建TypeAdapter接口的子類(lèi),手動(dòng)轉(zhuǎn)換。

    2024年02月11日
    瀏覽(30)
  • 日常踩坑:Java中double類(lèi)型出現(xiàn)科學(xué)計(jì)數(shù)法問(wèn)題

    背景:在與銀行的項(xiàng)目對(duì)接中,近期客戶(hù)反饋支付失敗,錯(cuò)誤信息是:“付款金額格式有問(wèn)題”,經(jīng)過(guò)日志分析,發(fā)現(xiàn)客戶(hù)系統(tǒng)發(fā)送銀行系統(tǒng)時(shí),付款金額以科學(xué)計(jì)數(shù)法的形式傳遞參數(shù)。 重現(xiàn): 經(jīng)過(guò)測(cè)試發(fā)現(xiàn),浮點(diǎn)數(shù)(double、float)當(dāng)整數(shù)部分超過(guò)7位以上(不含7位),就會(huì)

    2024年02月16日
    瀏覽(24)
  • 報(bào)錯(cuò):RuntimeError: expected scalar type Double but found Float

    報(bào)錯(cuò):RuntimeError: expected scalar type Double but found Float

    這個(gè)問(wèn)題是深度學(xué)習(xí),用pytorch跑的時(shí)候出現(xiàn)的 解決辦法:這個(gè)是格式問(wèn)題,希望的格式是double,但得到的是float。字面意思是這個(gè),但是并不是非要把格式改成double,這個(gè)時(shí)候應(yīng)該在出錯(cuò)的前面幾處代碼設(shè)個(gè)斷點(diǎn)debug一下,我得到的結(jié)果是image、img_rgb都是tensor.unit8格式的,但

    2024年02月13日
    瀏覽(29)
  • loss.backward()處遇到“RuntimeError: Found dtype Double but expected Float”

    loss.backward()處遇到“RuntimeError: Found dtype Double but expected Float”

    類(lèi)型錯(cuò)誤, 計(jì)算loss值的函數(shù)傳入的參數(shù)類(lèi)型不統(tǒng)一。 查看上文loss計(jì)算代碼部分的參數(shù)類(lèi)型,如loss=f.mse_loss(out,label),檢查out和label的類(lèi)型都是torch.float類(lèi)型即可。使用label.dtype查看tensor的類(lèi)型。 報(bào)錯(cuò)定位在這一行 尋思著是否是loss類(lèi)型的問(wèn)題,于是我就添加 但是還是報(bào)錯(cuò)在此

    2024年02月16日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包