定點數和浮點數


定點數

小數位固定不變的數叫做定點數

定點數有三種類型

(1)無符號定點整數(Unsigned fixed point integer)

定義:無符號定點整數沒有符號位,所以它的全部數位都用來表示數字,且它的小數點隱含在最低位后,在數碼序列中並不存在。

對於某種數的表示方式,我們關心兩點:

  • 1.表示范圍:這種方法表示數的大小(正負方向),無符號定點整數范圍:0~2n-1
  • 2.分辨率:精度,1(即最小非零正數)

代碼序列:XnXn-1...X1X0表示無符號定點整數,則有n+1位正整數

典型值 真值 代碼序列
最大正整數 2n+1-1 11...11
最小非零正數 1 00...01

(2)帶符號定點整數

定義;帶符號定點整數是純整數,小數點在最低位之后,最高位為符號位。常用補碼表示,也用原碼表示。

代碼序列:XnXn-1...X1X0表示帶符號定點整數,Xn是符號位

原碼定點整數表示范圍:-(2n-1)~(2n-1)

補碼定點整數表示范圍:-2n~(2n-1)

源碼,補碼定點整數分辨率:1

 

(3)帶符號定點小數

定義:帶符號定點小數是純小數,

代碼序列:X0.X1...Xn

最高位X0是符號位,小數點位置在符號位之后,X1...Xn是數值的有效部分,常稱尾數,X1稱為最高數位或最高有效位

原碼定點小數表示范圍:-(1-2-n)~(1-2-n)

補碼定點小數表示范圍:-1~(1-2-n)

分辨率:2-n

定點小數的位置是固定的,不需要我們專門設置,在實際中並不存在。

 

浮點數

定義:是一種小數點位置不固定可隨需要浮動的數

(1)浮點數表示

N=REx M

Ef E1 ... Em Mf M1 M2 ... Mn

 

階碼E,Ef為階符

尾數M,Mf為數符

 

對尾數的規格化要求

若以R=2為基底

浮點數用原碼表示,則需要:1/2 <= |M| < 1,此時最高有效位始終為1;

浮點數用補碼表示,則需要:-1<= M < -1/2或1/2<=M<1,前者最高有效位為1,后者為0

對於正數,規格化特征是M1=1

(2)移碼(增碼)

移碼的數值表示就是補碼的符號位變反了。

 

例題:某浮點數如上面的浮點數的表示,字長32位階碼8位,含1位階符,補碼表示以2為;尾數24位,含一位數符,補碼表示,規格化。若浮點數代碼為(A3680000)16,求真值N

(A3680000)16=(10100011,01101000...0)2

階碼長度為8位,4位二進制表示1位十六進制,總共兩位十六進制,因此A3表示階碼,第一位表示符號位,1為負數

因為階碼是補碼表示,所以我們需要轉換為原碼

E=-(1011101)2 =-(93)10

M=(0.1101000..0)2=(0.8125)10

N=2-93x0.8125

 

將-(1011.11010...0)2寫成浮點數代碼F

N=-(1011.11010...0)2

=-(0.101111010...0)2x24

E=(4)10=(00000100)2

M=(1.010000110...0)2

所以F=(00000100,1010000110...0)2=(04A18000)16

(5)IEEE754標准浮點格式

規格化要求:0<=|M|<1

 

例題:將十進制數20.59375轉換成符合IEEE754格式的32位短浮點數,寫出其二進制代碼,並轉換成十六進制代碼

1.分別轉換整數部分和小數部分為二進制20.59375=10100.10011

2.移動小數,使其在第一位與第二位之間

10100.10011=1.010010011x24

得到階碼:E=4

3.尾數符號位為正數,即0    階碼表示成移碼:E=4+127=131=1000 0011

尾數M=0 1001 0011

4.所以F=(0100 0001 1010 0100 1100 0000 0000 0000 )2

=(41A4C000)16

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM