在計算機中,需要對小數(shù)進(jìn)行計算,因此需要相應(yīng)的電路支持。支持小數(shù)計算的電路有兩種:定點部件和浮點部件。定點部件與整數(shù)部件沒有本質(zhì)區(qū)別,只是要假設(shè)有一個小數(shù)點存在于某兩位數(shù)之間,計算時需要把小數(shù)點對齊[1]。本文首先介紹浮點數(shù)標(biāo)準(zhǔn)IEEE754,為后續(xù)浮點部件的電路設(shè)計做好理論基礎(chǔ)。
一、名詞解釋
IEEE(Institute of Electrical and Electronics Engineers)[2]:電氣和電子工程師協(xié)會。作為一個電子類工程師,必須對其有所了解,可以說對她的了解是基本的行業(yè)素質(zhì)。話說:一流的企業(yè)做標(biāo)準(zhǔn),二流的企業(yè)做品牌,三流的企業(yè)做產(chǎn)品,IEEE致力于電氣、電子、計算機工程和與科學(xué)有關(guān)的領(lǐng)域的開發(fā)和研究,在太空、計算機、電信、生物醫(yī)學(xué)、電力及消費性電子產(chǎn)品等領(lǐng)域已制定了900多個行業(yè)標(biāo)準(zhǔn),現(xiàn)已發(fā)展成為具有較大影響力的國際學(xué)術(shù)組織。
IEEE754[3]:IEEE 754標(biāo)準(zhǔn)IEE浮點數(shù)算術(shù)標(biāo)準(zhǔn)(IEEE Standard for Floating-Point Arithmetic)的標(biāo)準(zhǔn)編號,等同于國際標(biāo)準(zhǔn)ISO/IEC/IEEE 60559。該標(biāo)準(zhǔn)由美國IEEE計算機學(xué)會旗下的微處理器標(biāo)準(zhǔn)委員會(Microprocessor Standards Committee, MSC)發(fā)布。IEEE 754 標(biāo)準(zhǔn)規(guī)定了計算機程序設(shè)計環(huán)境中的二進(jìn)制和十進(jìn)制的浮點數(shù)自述的交換、算術(shù)格式以及方法。
浮點數(shù)[4]:浮點數(shù)是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,在計算機中用以近似表示任意某個實數(shù)。具體的說,這個實數(shù)由一個整數(shù)或定點數(shù)(即尾數(shù))乘以某個基數(shù)(計算機中通常是2)的整數(shù)次冪得到,這種表示方法類似于基數(shù)為10的科學(xué)計數(shù)法。
二、單精度浮點數(shù)標(biāo)準(zhǔn)
IEEE754標(biāo)準(zhǔn)[5]主要定義了單精度和雙精度這兩種浮點數(shù)的格式。單精度浮點數(shù)用32位二進(jìn)制數(shù)來表示,而雙精度浮點數(shù)則用64位,雙精度浮點數(shù)相對于單精度浮點數(shù)主要的作用在于提高了精度。由于單精度浮點數(shù)和雙精度浮點數(shù)標(biāo)準(zhǔn)定義基本相同,這里只介紹單精度浮點數(shù)格式。
IEEE754標(biāo)準(zhǔn)32位單精度浮點數(shù)格式由三部分組成:第31位是符號位s(Sign),0表示正數(shù),1表示負(fù)數(shù);第30~23位是8位階碼位e(Exponent),用移碼表示,其偏移量為127;第22~0位是23位尾數(shù)f(Fraction),用原碼表示。如下圖1所示:
圖1.IEEE754單精度浮點數(shù)格式
如果0 < e < 255,單精度浮點數(shù)的值為(-1)s×2e-127×1.f,我們稱其為規(guī)格化數(shù)。需要注意的是1.f中的1稱為隱藏位,其并不占用32位中的任何一位。例如下面這個浮點數(shù):
1_01111111_11000000000000000000000
該浮點數(shù)值為(-1)1×2127-127×1.11 = -(1+0,5+0,25) = -1.75。
上述是規(guī)格化浮點數(shù)格式,以下有幾種非規(guī)格化浮點數(shù)格式標(biāo)準(zhǔn):
1. e = 0,且f != 0:單精度浮點數(shù)的值為(-1)s×2-126×0.f
2. e = 0,且f = 0:單精度浮點數(shù)的值為(-1)s×0
3. e = 255,且f != 0:單精度浮點數(shù)的值為NaN(Not a Number),例如∞-∞ = NaN
4. e = 255,且f = 0:單精度浮點數(shù)的值為(-1)s×∞
雙精度浮點數(shù)格式與單精度浮點數(shù)格式定義類似,這里就不再贅述了。
三、參考資料
[1]?李亞民.?計算機原理與設(shè)計——Verilog?HDL版.?北京:清華大學(xué)出版社.?2011
[2]??fromtitle=IEEE&fromid=150905&type=syn.?2015年02月15日
[3]?.?2015年02月15日
[4]??url=bp2fjdfgSOP8-PJwnDgzUbqqpnKxIq4GOnkKZFWnMqWVlHVi2gAUbSeXV8dy2oVjwQ0AARKgQ9DukmhpFBrXcq.?2015年02月15日
[5]?IEEE.?IEEE?Standard?for?Binary?Floating-Point?Arithmetic.?1985
評論
查看更多