IEEE_754

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 ） 。 後來還有 「 與基數無關的浮點數 」 的 「 IEEE 854 - 1987標準 」 ， 有規定基數爲2跟10的狀況 。 現在最新標準是 「 ISO / IEC / IEEE FDIS 60559:2020 」 。 在六 、 七十年代 ， 各家計算機公司的各個型號的計算機 ， 有着千差萬別的浮點數表示 ， 卻沒有一個業界通用的標準 。 這給數據交換 、 計算機協同工作造成了極大不便 。 IEEE的浮點數專業小組於七十年代末期開始醞釀浮點數的標準 。 在1980年 ， 英特爾公司就推出了單片的8087浮點數協處理器 ， 其浮點數表示法及定義的運算具有足夠的合理性 、 先進性 ， 被IEEE採用作爲浮點數的標準 ， 於1985年發佈 。 而在此前 ， 這一標準的內容已在八十年代初期被各計算機公司廣泛採用 ， 成了事實上的業界工業標準 。 加州大學伯克利分校的數值計算與計算機科學教授威廉 · 卡韓被譽爲 “ 浮點數之父 ” 。