什麼是次正規浮點數?
在 IEEE 754 浮點表示中,次正規數是一種特殊類型的數字,表示非常接近零的值。它們用於防止下溢,當數字太小而無法表示為普通浮點數時會發生下溢。
IEEE 754 基礎
IEEE 754 是用來表示浮點數的標準化格式。 32 位元單精確度 IEEE 754 數表示如下:
前導位約定
在 IEEE 754 中,所有非零數字在二進位中都有前導 1。這稱為前導位約定。但是,這可能會導致接近零的數字浪費精度。
次正規數
為了解決此問題,引入了次正規數。當指數為 0 且分數非零時,該數字被視為次正規數字。在這種情況下,前導位約定被忽略,表示的實際值是:
0.fraction * 2^(-126)
這允許表示非常小的數字,否則會因下溢而丟失。
次正規數範圍
次正規數的範圍比正常浮點數小得多。最小的正規次正規數是:
0.000002 * 2^(-126)
最大的次正規數是:
0.FFFFFE * 2^(-126)
反正規化
表示一個二進制格式的十進制數作為次正規數稱為非正規化。當一個數字被非規格化時,它會向左移動,直到二進位小數點左邊只剩下一個「1」位元。
實作
次正規數是在不同的硬體架構上有不同的實作。例如:
次正規數的優點
以上是什麼是次正規浮點數以及為什麼它們很重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!