• <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>

            浮點(diǎn)數(shù)的表示范圍

            一個(gè)浮點(diǎn)數(shù)(Floating Point Number)由三個(gè)基本成分構(gòu)成:符號(hào)(Sign)、階碼(Exponent)和尾數(shù)(Mantissa)。
              通常,可以用下面的格式來(lái)表示浮點(diǎn)數(shù):
            S P M
              其中S是符號(hào)位,P是階碼,M是尾數(shù)。
              根據(jù)IEEE(美國(guó)電氣和電子工程師學(xué)會(huì))754標(biāo)準(zhǔn)中的定義,單精度(Single Precision)浮點(diǎn)數(shù)是32位(即4字節(jié))的,雙精度(Double Precision)浮點(diǎn)數(shù)是64位(即8字節(jié))的。兩者的S、P、M所占的位數(shù)以及表示方法由下表可知:
            S P M 表示公式 偏移量

            單精度浮點(diǎn)數(shù)

            1(第31位)

            8(30到23位)

            23(22到0位)

            (-1)^S*2(P-127)*1.M

            127

            雙精度浮點(diǎn)數(shù)

            1(第63位)

            11(62到52位)

            52(51到0位)

            (-1)^S*2(P-1023)*1.M

            1023
              其中S是符號(hào)位,只有0和1,分別表示正負(fù)。
              P是階碼,通常使用移碼表示(移碼和補(bǔ)碼只有符號(hào)位相反,其余都一樣。對(duì)于正數(shù)而言,原碼、反碼和補(bǔ)碼都一樣;對(duì)于負(fù)數(shù)而言,補(bǔ)碼就是其絕對(duì)值的原碼全部取反,然后加1)。階碼可以為正數(shù),也可以為負(fù)數(shù),為了處理負(fù)指數(shù)的情況,實(shí)際的指數(shù)值按要求需要加上一個(gè)偏差(Bias)值作為保存在指數(shù)域中的值,單精度數(shù)的偏差值為127,雙精度數(shù)的偏差值為1023。例如,單精度的實(shí)際指數(shù)值0在指數(shù)域中將保存為127,而保存在指數(shù)域中的64則表示實(shí)際的指數(shù)值-63,偏差的引入使得對(duì)于單精度數(shù),實(shí)際可以表達(dá)的指數(shù)值的范圍就變成-127到128之間(包含兩端)。
              M為尾數(shù),其中單精度數(shù)為23位長(zhǎng),雙精度數(shù)為52位長(zhǎng)。IEEE標(biāo)準(zhǔn)要求浮點(diǎn)數(shù)必須是規(guī)范的。這意味著尾數(shù)的小數(shù)點(diǎn)左側(cè)必須為1,因此在保存尾數(shù)的時(shí)候,可以省略小數(shù)點(diǎn)前面這個(gè)1,從而騰出一個(gè)二進(jìn)制位來(lái)保存更多的尾數(shù)。這樣實(shí)際上用23位長(zhǎng)的尾數(shù)域表達(dá)了24位的尾數(shù)。例如對(duì)于單精度數(shù)而言,二進(jìn)制的1001.101(對(duì)應(yīng)于十進(jìn)制的9.625)可以表達(dá)為1.001101 × 23,所以實(shí)際保存在尾數(shù)域中的值為00110100000000000000000,即去掉小數(shù)點(diǎn)左側(cè)的1,并用0在右側(cè)補(bǔ)齊。
              根據(jù)標(biāo)準(zhǔn)要求,無(wú)法精確保存的值必須向最接近的可保存的值進(jìn)行舍入,即不足一半則舍,一半以上(包括一半)則進(jìn)。不過(guò)對(duì)于二進(jìn)制浮點(diǎn)數(shù)而言,還多一條規(guī)矩,就是當(dāng)需要舍入的值剛好是一半時(shí),不是簡(jiǎn)單地進(jìn),而是在前后兩個(gè)等距接近的可保存的值中,取其中最后一位有效數(shù)字為零者。
              據(jù)以上分析,IEEE 754標(biāo)準(zhǔn)中定義浮點(diǎn)數(shù)的表示范圍為:

            二進(jìn)制(Binary)

            十進(jìn)制(Decimal)

            單精度浮點(diǎn)數(shù)

            ± (2-2^-23) × 2127

            ~ ± 10^38.53

            雙精度浮點(diǎn)數(shù)

            ± (2-2^-52) × 21023

            ~ ± 10^308.25

              浮點(diǎn)數(shù)的表示有一定的范圍,超出范圍時(shí)會(huì)產(chǎn)生溢出(Flow),一般稱大于絕對(duì)值最大的數(shù)據(jù)為上溢(Overflow),小于絕對(duì)值最小的數(shù)據(jù)為下溢(Underflow)。
            二、浮點(diǎn)數(shù)的表示約定
              單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)都是用IEEE 754標(biāo)準(zhǔn)定義的,其中有一些特殊約定,例如:
              1、當(dāng)P=0,M=0時(shí),表示0。
              2、當(dāng)P=255,M=0時(shí),表示無(wú)窮大,用符號(hào)位來(lái)確定是正無(wú)窮大還是負(fù)無(wú)窮大。
              3、當(dāng)P=255,M≠0時(shí),表示NaN(Not a Number,不是一個(gè)數(shù))。
            三、非規(guī)范浮點(diǎn)數(shù)
              
            當(dāng)兩個(gè)絕對(duì)值極小的浮點(diǎn)數(shù)相減后,其差值的指數(shù)可能超出允許范圍,最終只能近似為0。為了解決此類問(wèn)題,IEEE標(biāo)準(zhǔn)中引入了非規(guī)范(Denormalized)浮點(diǎn)數(shù),規(guī)定當(dāng)浮點(diǎn)數(shù)的指數(shù)為允許的最小指數(shù)值時(shí),尾數(shù)不必是規(guī)范化(Normalized)的。有了非規(guī)范浮點(diǎn)數(shù),去掉了隱含的尾數(shù)位的制約,可以保存絕對(duì)值更小的浮點(diǎn)數(shù)。而且,由于不再受到隱含尾數(shù)域的制約,上述關(guān)于極小差值的問(wèn)題也不存在了,因?yàn)樗锌梢员4娴母↑c(diǎn)數(shù)之間的差值同樣可以保存。
              根據(jù)IEEE 754標(biāo)準(zhǔn)中的定義,規(guī)范和非規(guī)范浮點(diǎn)數(shù)的表示范圍可歸納為下表:

            規(guī)范浮點(diǎn)數(shù)

            非規(guī)范浮點(diǎn)數(shù)

            十進(jìn)制近似范圍

            單精度浮點(diǎn)數(shù)

            ± 2^-149 至 (1-2^-23)*2^-126

            ± 2^-126 至 (2-2^-23)*2^127

            ± ~10^-44.85 至 ~10^38.53

            雙精度浮點(diǎn)數(shù)

            ± 2^-1074 至 (1-2^-52)*2^-1022

            ± 2^-1022 至 (2-2^-52)*2^1023

            ± ~10^-323.3 至 ~10^308.3

            四、與IEEE 754相關(guān)的標(biāo)準(zhǔn)
              本文的結(jié)論基于IEEE 754標(biāo)準(zhǔn),另外一個(gè)標(biāo)準(zhǔn)是IEEE 854,這個(gè)標(biāo)準(zhǔn)是關(guān)于十進(jìn)制浮點(diǎn)數(shù)的,但沒(méi)有規(guī)定具體格式,所以很少被采用。另外,從2000年開(kāi)始,IEEE 754開(kāi)始修訂,被稱為IEEE 754R,目的是融合IEEE 754和IEEE 854標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)在浮點(diǎn)格式方面的修訂有:1、加入了16位和128位的二進(jìn)制浮點(diǎn)數(shù)格式;2、加入了十進(jìn)制浮點(diǎn)數(shù)格式,采用了IBM公司提出的格式。

            posted on 2010-12-26 15:44 望見(jiàn) 閱讀(19039) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(1)

            隨筆分類(4)

            隨筆檔案(4)

            文章分類(2)

            文章檔案(2)

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            99久久精品免费看国产| 久久精品国产影库免费看| 久久久无码精品午夜| 精品一久久香蕉国产线看播放| 色综合合久久天天综合绕视看| 欧美亚洲国产精品久久蜜芽| 久久AAAA片一区二区| 97精品国产97久久久久久免费| 久久99久久99精品免视看动漫| 久久久久久av无码免费看大片| 中文字幕久久久久人妻| 99久久精品国产一区二区蜜芽 | 久久久精品人妻一区二区三区四| 精品久久8x国产免费观看| 久久久国产精品| 久久免费视频观看| 欧美一区二区三区久久综合| 日本精品久久久久影院日本 | 亚洲国产精品无码久久一线| 久久无码一区二区三区少妇 | 国产精品成人久久久久久久| 久久精品国产99久久久古代| 色欲综合久久躁天天躁| 精品久久久久久无码人妻蜜桃| avtt天堂网久久精品| 亚洲精品无码久久久影院相关影片 | 久久久久久国产a免费观看不卡 | 精品久久久无码21p发布| 久久综合色之久久综合| 欧美伊香蕉久久综合类网站| 97久久精品午夜一区二区| 无码日韩人妻精品久久蜜桃 | 欧美激情精品久久久久久久九九九| 久久天天躁狠狠躁夜夜96流白浆| 18禁黄久久久AAA片| 久久频这里精品99香蕉久| 2020国产成人久久精品| 久久夜色精品国产噜噜亚洲a| 亚洲国产精品成人久久蜜臀| 婷婷久久五月天| 亚洲AV日韩精品久久久久久久|