浮點數的理解
一、浮點數定義
浮點數:浮點數是指,小數點可以任意浮動的數字。
二、計算機中的浮點數
在我們的科學計數法中,我們使用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位。
舉例子
相關文章
- 深入理解浮點數的表示
- JS中如何理解浮點數?JS
- 深入理解浮點數的運算
- 浮點數
- golang 快速入門 [8.3]-深入理解浮點數Golang
- [譯]浮點數的危害
- Java中浮點數的坑Java
- 我的IEEE浮點數工具
- 浮點數小知識點
- MySQL 有意思的浮點數和定點數MySql
- 淺談浮點數(一)
- 轉換成浮點數
- Java浮點數計算Java
- 大數相乘(浮點數)實現
- 浮點數的二進位制表示
- python處理浮點數Python
- iOS浮點數精度問題iOS
- JavaScript 浮點數陷阱及解法JavaScript
- 浮點數表示及其實現.
- 補碼、反碼、浮點數
- JavaScript浮點數保留兩位小數JavaScript
- 浮點數的這些坑,你未必知道
- PHP浮點數的精確計算BCMathPHP
- 有趣的二進位制3—浮點數
- 一個浮點數計算的問題
- JS中浮點數精度問題JS
- js浮點數丟失問題JS
- 【Java】浮點數相等性比較Java
- 學習JAVA浮點數必看文章!Java
- python中精確的浮點數運算Python
- 匹配浮點數的正規表示式程式碼
- 浮點數演算法的內部實現演算法
- 浮點數的加減乘除運算細節
- input限制只能輸入整數或保留小數點後2位的浮點數
- js中浮點數計算常用方法JS
- Java如何正確比較浮點數Java
- 浮點數一些設計原理
- 浮點數轉換成字串函式字串函式