2014年4月24日 星期四

浮點數概論

IEEE二進位浮點數算術標準IEEE 754)是20世紀80年代以來最廣泛使用的浮點數運算標準,為許多CPU浮點運算器所採用。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number)),一些特殊數值(無窮(Inf)與非數值(NaN)),以及這些數值的「浮點數運算子」;它也指明了四種數值修約規則和五種例外狀況(包括例外發生的時機與處理方式)。
IEEE 754規定了四種表示浮點數值的方式:單精確度(32位元)、雙精確度(64位元)、延伸單精確度(43位元以上,很少使用)與延伸雙精確度(79位元以上,通常以80位元實做)。只有32位元模式有強制要求,其他都是選擇性的。大部分程式語言都有提供IEEE浮點數格式與算術,但有些將其列為非必需的。例如,IEEE 754問世之前就有的C語言,現在有包括IEEE算術,但不算作強制要求(C語言的float通常是指IEEE單精確度,而double是指雙精確度)。
該標準的全稱為IEEE二進位浮點數算術標準(ANSI/IEEE Std 754-1985),又稱IEC 60559:1989,微處理器系統的二進位浮點數算術(本來的編號是IEC 559:1989)[1]。後來還有「與基數無關的浮點數」的「IEEE 854-1987標準」,有規定基數為2跟10的狀況。現在最新標準是「IEEE 854-2008標準」。
在六、七十年代,各家電腦公司的各個型號的電腦,有著千差萬別的浮點數表示,卻沒有一個業界通用的標準。這給資料交換、電腦協同工作造成了極大不便。IEEE的浮點數專業小組於七十年代末期開始醞釀浮點數的標準。在1980年,英特爾公司就推出了單片的8087浮點數協處理器,其浮點數表示法及定義的運算具有足夠的合理性、先進性,被IEEE採用作為浮點數的標準,於1985年發行。而在此前,這一標準的內容已在八十年代初期被各電腦公司廣泛採用,成了事實上的業界工業標準。

二進位浮點數是以符號數值表示法的格式儲存——最高有效位被指定為符號位(sign bit)
;「指數部份」,即次高有效的e個位元,儲存指數部分;最後剩下的f個低有效位的位元
,儲存「尾數」(significand)的小數部份(在非規約形式下整數部份默認為0,其他情況
下一律默認為1)

結論:(學生描述)
浮點數為使用來簡化龐大的資料(LIKE指數)
整串32位元,依序表示:性質符號(即正負性)佔1位元--偏移指數8位元(127-標準化次方數,2進位表示佔滿8位元)--其餘資料位23位元(補足,剩餘補0)

資料來源:維基百科                               高師大王蘭華老師授課內容               學生整理概述

沒有留言:

張貼留言