定點數和浮點數

定點數

小數位固定不變的數叫作定點數源碼

定點數有三種類型table

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

定義:無符號定點整數沒有符號位,因此它的所有數位都用來表示數字,且它的小數點隱含在最低位後,在數碼序列中並不存在。二進制

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

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

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

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

(2)帶符號定點整數

定義;帶符號定點整數是純整數,小數點在最低位以後,最高位爲符號位。經常使用補碼錶示,也用原碼錶示。移動

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

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

補碼定點整數表示範圍:-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

相關文章
相關標籤/搜索