博客專欄

        EEPW首頁 > 博客 > IEEE-754浮點格式應(yīng)用分析

        IEEE-754浮點格式應(yīng)用分析

        發(fā)布人:jiweiauto 時間:2019-05-15 來源:工程師 發(fā)布文章

          IEEE-754是由電子與電氣工業(yè)協(xié)會制定的一整套浮點數(shù)表示的標(biāo)準(zhǔn)。本文主要分析最常用的binary32(單精度),binary64(雙精度可以此類推)。
          Binary32占用存儲器4bytes,可以表示最大數(shù)值(2?2?23)×2127≈3.402823×1038,相比之下,int32(有符號32位整型數(shù))可以表示到2-31-1=2,147,483,647。在同樣的存儲寬度下,binary32表示的范圍是int32的158,456,293,939,825,284,266,763,033,469.56倍。

          Binary32存儲結(jié)構(gòu)如下:

        IEEE-754浮點格式應(yīng)用分析

          Hex:0x419C0000

          二進(jìn)制表示為
          
          十進(jìn)制表示為
          
          value=(-1)0×2(131-127)×(1+2(-3)+2(-4)+2(-5)=(19.5)10
          因此,對于每一個浮點數(shù)來說,主要有兩個部分構(gòu)成:指數(shù)部分和尾數(shù)部分。
          指數(shù)部分有兩個特例:即0x00和0xFF
          當(dāng)為0x00時適用如下:(-1)signbit×2-126×0.significandbits即表示±0.0。此時,尾數(shù)部分沒有實際的意義。
          當(dāng)為0xFF時表示±infinity。
          尾數(shù)部分0~11111111111111111111111b
          各位的權(quán)值如下:
          bit23=1為了節(jié)省存儲空間此位為隱藏位;
          bit22=0.5
          bit21=0.25
          bit20=0.125
          bit19=0.0625
          bit18=0.03125
          .
          .
          bit0=0.00000011920928955078125
          一個整型數(shù),如果用IEEE-754表示可能會有誤差。
          [-224,224]=[-16777216,16777216],沒有誤差。
          [-225,-224]=[-33554432,-16777217]或[16777217,33554432],向2倍數(shù)舍入。
          [-226,-225-1]或[225+1,226],向4的倍數(shù)舍入。
          …
          [-2127,-2126-1]或[2126+1,2127],向2103的倍數(shù)舍入。
          [-2128,-2127-1]或[2127+1,2128],向2127-23的倍數(shù)舍入。
          value≤-2128或value≥2128,向∞舍入。
          要注意數(shù)據(jù)轉(zhuǎn)化時帶來的系統(tǒng)誤差,如要克服,就需要綜合考慮。

          計為超聲波液位計在測量過程中,由于液位的測量要計算聲波來回的時間差,而時間差的測量要用到當(dāng)前環(huán)境下的聲速。而環(huán)境的不同導(dǎo)致聲速的不同,在用不同尾數(shù)表示聲速時,會帶給系統(tǒng)一定的誤差。為了減小這種系統(tǒng)誤差,聲速的計算采用的是64bit雙精度,保證在計算距離的時候,使公式本身帶來的系統(tǒng)誤差最小,也整體提高了測量的精度。

          同樣的例子,輸出的4~20mA電流的數(shù)值,也需精準(zhǔn)表示。在使用當(dāng)前的距離計算液位,再根據(jù)液位計算電流值的情況下,如果使用尾數(shù)少的小數(shù)表示,可能一次的計算誤差幾乎可以忽略不計,但經(jīng)過多次級聯(lián)的運(yùn)算后,帶來的誤差便不可忽視。一些特殊的情況下,可能還會直接影響到測量的精度,為了保證高精度液位的測量,選用雙精度是明智的選擇。(文章摘自:www.jiweimeter.com/yfshow-23-927-1.html,轉(zhuǎn)載請注明出處。)

        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

        DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY




        關(guān)鍵詞:

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 垦利县| 肥东县| 凌云县| 思南县| 通城县| 稻城县| 华池县| 饶河县| 乐昌市| 达州市| 阿合奇县| 洞头县| 高邮市| 保康县| 南乐县| 南澳县| 云霄县| 东山县| 金湖县| 镇宁| 宁晋县| 韩城市| 武陟县| 大同市| 潞西市| 宁明县| 敦化市| 喀喇沁旗| 尖扎县| 岳池县| 土默特右旗| 顺昌县| 瓮安县| 保德县| 兴业县| 沙坪坝区| 东山县| 洛宁县| 凭祥市| 申扎县| 普兰县|