浮點數的理解

某風吾起發表於2020-10-23

一、浮點數定義

浮點數:浮點數是指,小數點可以任意浮動的數字。
在這裡插入圖片描述

二、計算機中的浮點數

在我們的科學計數法中,我們使用10作為指數的底數。
但是在計算機中,計算機是使用2進位制的,故我們使用2作為指數的底數。
在這裡插入圖片描述
我可以
在這裡插入圖片描述

三、C語言的浮點數

3.1 3種浮點數型別

在這裡插入圖片描述

3.2 一般表示法

在這裡插入圖片描述

3.3 指數表示法

在這裡插入圖片描述

3.4 浮點數的儲存格式

在這裡插入圖片描述

通常情況下:浮點數表示為 N = rE x M
式子裡面的r式浮點數階碼的底,在計算機中式隱含的通常r=2。
E 和 M 都是帶符號的定點數。E 叫做階碼,M 叫做尾數
其中E越大,其表示是的數的範圍就越大。M越大,其表示的資料的有效精度就越高。

簡單地舉一個例子,1.111×2100 這裡面1.111就是尾數,100就是階碼,顯然這裡階碼佔的位數為3位,尾數佔的位數是4位,假如階碼佔的位數有4位,位數佔的位數是3位(階碼和尾數所佔位數總和不變),那麼這個數就只能表示為1.11×20100,顯然能表示的數的範圍變大了,就這個例子來說原來尾數1.111轉變為1.11損失了0.001,這就是精度的損失。
浮點數的一般格式:

在這裡插入圖片描述

這裡J是階符,表示階碼的符號,S是數符,表示浮點數的符號,階符J和階碼的m位合起來表示浮點數的表示範圍和小數點的實際位置,n位尾數反映了浮點數的精度。

IEEE 754標準

IEEE 754標準採用的浮點數的格式:
在這裡插入圖片描述
ms為數符,表示浮點數的符號,E為階碼部分,用移碼表示,M是尾數部分,用原碼表示。

IEEE 754標準規定常用的浮點數格式有短浮點數(單精度、float)、長浮點數(雙精度、double型)、臨時浮點數。

短浮點數數符佔1位;階碼佔8位,以2為底,用移碼錶示,階碼偏置值為127(階碼全1表示無限大,E的範圍是1~254,空出全0表示非規格化數);尾數部分為23位。
在這裡插入圖片描述

長浮點數數符佔1位;階碼佔11位,以2為底,用移碼錶示,階碼偏置值為1023(階碼全1表示無限大,E的範圍是1~2046,空出全0表示非規格化數);尾數部分為52位。
在這裡插入圖片描述

舉例子

在這裡插入圖片描述

相關文章