機器數的定點表示與浮點_第1頁
機器數的定點表示與浮點_第2頁
機器數的定點表示與浮點_第3頁
機器數的定點表示與浮點_第4頁
機器數的定點表示與浮點_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

北京理工大學計算機學院第2章2.1數值數據的表示2.2機器數的定點表示與浮點表示2.3非數值數據的表示2.4十進制數和數串的表示2.5不同類型的數據表示舉例2.6數據校驗碼北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.2.1定點表示法在定點表示法中約定:所有數據的小數點位置固定不變。通常,把小數點固定在有效數位的最前面或末尾,這就形成了兩類定點數。1.定點小數小數點的位置固定在最高有效數位之前,符號位之后,記作Xs.X1X2…Xn,這個數是一個純小數。定點小數的小數點位置是隱含約定的,小數點并不需要真正地占據一個二進制位。北京理工大學計算機學院202-12-2…

2-(n-1)2-n2.2機器數的定點表示與浮點表示

當Xs=0,X1~Xn=1時,X為最大正數,即:X最大正數

=(1-2-n)。1最大正數…1110定點小數格式小數點位置XsX1XnX2Xn-1…202-12-2…

2-(n-1)2-n注意北京理工大學計算機學院202-12-2…

2-(n-1)2-n2.2機器數的定點表示與浮點表示最小正數00100…定點小數格式小數點位置XsX1XnX2Xn-1…202-12-2…

2-(n-1)2-n

當Xn=1,Xs~Xn-1=0時,X為最小正數,即:X最小正數

=2-n。注意北京理工大學計算機學院2.2機器數的定點表示與浮點表示

當Xs=1,表示X為負數,此時情況要稍微復雜一些,這是因為在計算機中帶符號數可用補碼表示,也可用原碼表示。如前所述,原碼與補碼所能表示的絕對值最大的負數是有區別的,所以原碼和補碼的表示范圍有一些差別。北京理工大學計算機學院202-12-2…

2-(n-1)2-n202-12-2…

2-(n-1)2-n2.2機器數的定點表示與浮點表示原碼表示的絕對值最大負數11111…X絕對值最大負數(原碼表示時)=-(1-2-n)補碼表示的絕對值最大負數10000…X絕對值最大負數(補碼表示時)=-1注意北京理工大學計算機學院0.11111110.11111110.1111111

綜上所述:若機器字長有n+1位,則:原碼定點小數表示范圍為:-(1-2-n)~(1-2-n)補碼定點小數表示范圍為:-1~(1-2-n)

若機器字長有8位,則:原碼定點小數表示范圍為:-(1-2-7)~(1-2-7)補碼定點小數表示范圍為:-1~(1-2-7)2.2機器數的定點表示與浮點表示1.00000001.00000001.00000000.11111110.11111110.11111111.11111111.11111111.1111111北京理工大學計算機學院2n2n-12n-2…

21202.2機器數的定點表示與浮點表示2.定點整數小數點位置隱含固定在最低有效數位之后,記作XsX1X2…Xn,這個數是一個純整數。定點整數格式小數點位置XsX1XnX2…2n2n-12n-2…

201最大正數…1110X最大正數

=(2n-1)注意北京理工大學計算機學院2n2n-12n-2…

21202n2n-12n-2…

21202n2n-12n-2…

21202.2機器數的定點表示與浮點表示X絕對值最大負數(原碼表示時)=-(2n-1)最小正數00100…X最小正數

=1X絕對值最大負數(補碼表示時)=-2n原碼表示的絕對值最大負數11111…補碼表示的絕對值最大負數10000…注意注意北京理工大學計算機學院

綜上所述:若機器字長有n+1位,則:原碼定點整數的表示范圍為:-(2n-1)~(2n-1)補碼定點整數的表示范圍為:-2n

~(2n-1)

若機器字長有8位,則:原碼定點整數表示范圍為:-127~127補碼定點整數表示范圍為:-128~1270111111101111111011111111000000010000000100000002.2機器數的定點表示與浮點表示011111110111111101111111111111111111111111111111北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.2.2浮點表示法

小數點的位置根據需要而浮動,這就是浮點數。例如:

N=M×rE

式中:r為浮點數階碼的底,與尾數的基數相同,通常r=2。E和M都是帶符號數,E叫做階碼,M叫做尾數。在大多數計算機中,尾數為純小數,常用原碼或補碼表示;階碼為純整數,常用移碼或補碼表示。=M×2E北京理工大學計算機學院2.2機器數的定點表示與浮點表示

浮點數的一般格式:

浮點數的底是隱含的,在整個機器數中不出現。階碼的符號位為es,階碼的大小反映了在數N中小數點的實際位置;尾數的符號位為ms,它是整個浮點數的符號位,反映了該浮點數的正負。假設階碼和尾數部分均用補碼表示。esemms階碼部分E尾數部分MK位N位1位1位北京理工大學計算機學院階碼部分E尾數部分Mesms2-1…

2-(n-1)2-n2k-1…

202.2機器數的定點表示與浮點表示0011111……1.浮點數的表示范圍當es=0,ms=0,階碼和尾數的數值位各位全為1(即階碼和尾數都為最大正數)時,該浮點數為最大正數。X最大正數=(1-2-n)×22k-1注意北京理工大學計算機學院階碼部分E尾數部分Mesms2-1…

2-(n-1)2-n2k-1…

202.2機器數的定點表示與浮點表示

當es=1,ms=0,尾數的最低位mn=1,其余各位為0(即階碼為絕對值最大負數,尾數為最小正數)時,該浮點數為最小正數。1100000……X最小正數=2-n×2-2k注意北京理工大學計算機學院階碼部分E尾數部分Mesms2-1…

2-(n-1)2-n2k-1…

202.2機器數的定點表示與浮點表示

當es=0,階碼的數值位為全1;ms=1,尾數的數值位為全0(即階碼為最大正數,尾數為絕對值最大的負數)時,該浮點數為絕對值最大負數。1110000……X絕對值最大負數=-1×22k-1注意北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.規格化的浮點數為了提高運算的精度,需要充分地利用尾數的有效數位,通常采取規格化的浮點數形式,即規定尾數的最高數位必須是一個有效值。

1/r≤|M|<1

如果r=2,則有1/2≤|M|<1。

北京理工大學計算機學院2.2機器數的定點表示與浮點表示

在尾數用原碼表示時,規格化浮點數的尾數的最高數位總等于1。在尾數用補碼表示時,規格化浮點數應滿足尾數最高數位與符號位不同(ms⊕m1=1),即當1/2≤M<1時,應有0.1xx…x形式,當-1≤M<-1/2時,應有1.0xx…x形式。需要注意的是當M=-1/2,對于原碼來說,是規格化數,而對于補碼來說,不是規格化數;當M=-1時,對于原碼來說,這將無法表示,而對于補碼來說,這是一個規格化數。

北京理工大學計算機學院階碼部分E尾數部分Mesms2-1…

2-(n-1)2-n2k-1…

20階碼部分E尾數部分Mesms2-1…

2-(n-1)2-n2k-1…

202.2機器數的定點表示與浮點表示X規格化的最小正數=2-1×2-2k00011111……X規格化的絕對值最小負數=-(2-1+2-n)×2-2k……01000100注意注意北京理工大學計算機學院2.2機器數的定點表示與浮點表示北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.2.3浮點數階碼的移碼表示法

移碼就是在真值X上加一個常數(偏置值),相當于X在數軸上向正方向平移了一段距離,這就是“移碼”一詞的來由,移碼也可稱為增碼或偏碼。

[X]移=偏置值+X

字長n+1位定點整數的移碼形式為X0X1X2…Xn。北京理工大學計算機學院2.2機器數的定點表示與浮點表示最常見的移碼的偏置值為2n。當字長8位時,偏置值為27。例1:X=1011101[X]移=27+X=10000000=11011101[X]補=01011101

例2:X=-1011101[X]移=27+X=10000000-1011101=00100011[X]補=10100011北京理工大學計算機學院

2.2機器數的定點表示與浮點表示北京理工大學計算機學院

2.2機器數的定點表示與浮點表示偏置值為2n的移碼具有以下特點:

(1)在移碼中,最高位為“0”表示負數,最高位為“1”表示正數。

(2)移碼為全0時,它所對應的真值最小,為全1時,它所對應的真值最大。

(3)真值0在移碼中的表示形式是唯一的,即[+0]移=[-0]移=100…0。

(4)移碼把真值映射到一個正數域,所以可將移碼視為無符號數,直接按無符號數規則比較大小。北京理工大學計算機學院

2.2機器數的定點表示與浮點表示(5)同一數值的移碼和補碼除最高位相反外,其他各位相同。浮點數的階碼常采用移碼表示最主要的原因有:便于比較浮點數的大小。階碼大的,其對應的真值就大,階碼小的,對應的真值就小。簡化機器中的判零電路。當階碼全為0,尾數也全為0時,表示機器零。注意北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.2.5IEEE754標準浮點數

大多數計算機的浮點數采用IEEE754標準,其格式如下,IEEE754標準中有三種形式的浮點數。msEm北京理工大學計算機學院

2.2機器數的定點表示與浮點表示

以短浮點數為例討論浮點代碼與其真值之間的關系。最高位為數符位;其后是8位階碼,以2為底,階碼的偏置值為127;其余23位是尾數。為了使尾數部分能表示更多一位的有效值,IEEE754采用隱含尾數最高數位1(即這一位1不表示出來)的方法,因此尾數實際上是24位。應注意的是,隱含的1是一位整數(即位權為20),在浮點格式中表示出來的23位尾數是純小數,并用原碼表示。北京理工大學計算機學院2.2機器數的定點表示與浮點表示

例1:將(100.25)10轉換成短浮點數格式。

(1)十進制數→二進制數

(100.25)10=(1100100.01)2

(2)非規格化數→規格化數

1100100.01=1.10010001×26

(3)計算移碼表示的階碼(偏置值+階碼真值)

1111111+110=10000101北京理工大學計算機學院2.2機器數的定點表示與浮點表示

(4)以短浮點數格式存儲該數。符號位=0

階碼=10000101

尾數=00000

短浮點數代碼為

0;10000101;10010001000000000000000

表示為十六進制的代碼:42C88000H。北京理工大學計算機學院2.2機器數的定點表示與浮點表示例2:把短浮點數C1C90000H轉換成為十進制數。

(1)十六進制→二進制形式,并分離出符號位、階碼和尾數。

C1C90000H=1;10000011;00000階碼符號位尾數北京理工大學計算機學院2.2機器數的定點表示與浮點表示

(2)計算出階碼真值(移碼-偏置值)

10000011-1111111=100

(3)以規格化二進制數形式寫出此數

1.1001001×24

(4)寫成非規格化二進制數形式

11001.001

(5)轉換成十進制數,并加上符號位。

(11001.001)2=(25.125)10

所以,該浮點數=-25.125北京理工大學計算機學院2.2機器數的定點表示與浮點表示2.2.6定點/浮點表示法與定點/浮點計算機1.

定點/浮點表示法的區別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論