2013年3月15日 星期五

浮點數

浮點數

浮點數(Floating-point)表示法 = 符號 + 指數 + 假數或小數

  1. 符號 (sign):通常只是一個位元,用來表示正負符號。
  2. 指數 (exponent):有若干位元,用來表示基底的次方數。
  3. 假數或小數 (mantissa或fraction):有最多的位元,用來表示數值中真正有效的數字。



浮點數表示法中的「符號」位元,如同一般真假值般,以0表示正值,以1表示負值。「指數」位元在32位元的單倍準實數中有8位,在64位元的雙倍準實數中有11位,它們將真正小數點的位置偏移數轉化為基底的次方數
其中真正指數=偏移指數-127

故可知
偏移指數為0~255
真正指數為-127~0~128
例1 :  + 43.125
+43.125 = + 101011.001 = 1.01011001 x 2^ 5 
(由101011.001變成1.01011001x2^5的過程,稱為正規化)

所以
符號位元 = 0 (正)
指數部分 = 5 + 127= 132 = 10000100
假數部分 = 01011001000000000000000 (後方以0補滿)

所以 + 43.125 的單精度表示法 = 0 10000100 01011001000000000000000


例2 :  - 107.75
-107.75 = + 1101011.11 = 1.10101111 x 2^  6  所以
符號位元 = 1 (負)
指數部分  = 6 + 127= 133 = 10000101
假數部分 = 10101111000000000000000
所以 -107.75 的單精度表示法 = 1 10000101 10101111000000000000000

沒有留言:

張貼留言