回覆列表
  • 1 # Affgcff

    標準表示法為便於的移植,浮點數的表示格式應該有統一標準.1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754標準.該標準規定基數為2,階碼E用移碼錶示,尾數M用原碼錶示,根據原碼的規格化方法,最高數字位總是1,該標準將這個1預設儲存,使得尾數表示範圍比實際儲存的一位.實數 的IEEE754標準的浮點數格式為:具體有三種形式:表3 IEEE754三種浮點數的格式引數浮點數型別 儲存位數 偏移值( )階碼E的取值範圍 真值表達式數符(s) 階碼(E) 尾數(M) 總位數 十六進位制 十進位制 短實數 1 8 23 32 7FH 127 1~254長實數 1 11 52 64 3FFH 1023 1~2046臨時實數 1 15 64 80 3FFFH 16383 1~32766對於階碼為0或為255(2047)的情況,IEEE有特殊的規定,由於篇幅有限,在此不討論.在浮點數總位數不變的情況下,其精度值與範圍值是矛盾的,因此一般的機器都提供有單、雙精度兩種格式.表4中列出了IEEE754單精度浮點數的表示範圍,對於雙精度只需要修改一下偏移值和尾數位數即可.表4 IEEE754單精度、雙精度浮點數範圍典型範圍 浮點數程式碼 真 值數符(Ms) 階碼(E) 尾數(M) 最大正數最小正數絕對值最大的負數絕對值最小的負數 0011 11………1100………0011………1100………00標準浮點數的儲存格式與圖1(b)相似,只是在尾數中隱含儲存著一個1,因此在計算尾數的真值時比一般形式要多一個整數1.對於階碼E的儲存形式因為是127的偏移,所以在計算其移碼時與人們熟悉的128偏移不一樣,正數的值比用128偏移求得的少1,負數的值多1,為避免計算錯誤,方便理解,常將E當成二進位制真值進行儲存.例如:將數值-0.5按IEEE754單精度格式儲存,先將-0.5換成二進位制並寫成標準形式:-0.510=-0.12=-1.0×2-12,這裡s=1,M為全0,E-127=-1,E=12610=,則儲存形式為:1 =BE這裡不同的下標代表不同的進位制.

  • 中秋節和大豐收的關聯?
  • 電影綠幕為什麼用綠色?