浮點型精度分析

2021-08-09 19:44:26 字數 757 閱讀 9848

科學計數法

1.233e23,e大概是exponent指數,階碼。

分為三部分,整數部分為1的因數,e是進製階數,後邊是指數

二進位制和十進位制轉換

二進位制轉10進製

自然語言中以十進位制為主,將十進位製作為基座標更加容易理解

二進位制  1.1 ===> 十進位制   加權係數展開

//整數部分

1*2//小數部分

1*2//結果

10進製轉二進位制
十進位制和二進位制轉換分為小數部分和整數部分
十進位制2.5 ====>二進位制

//整數部分,除2取餘,逆序排列

2|2 ---1

---0

//小數部分,乘2取整,順序排列

2*0.5 =1.0 ----1

浮點數記憶體模型
- 記憶體模型

符號位| 指數字 | 尾數部分

- 原理--單精度為例

- 仍以十進位制為基座標分析,先將十進位制資料轉換到二進位制科學計數。如 1.0101*2^13.

- 23位尾數表示24位精度原理, 因為整數總是1,不用表示前面的整數1,表示精度的時候把他加上就24了。

- 然後十進位制9的二進位制表示是1001,大概4位二進位制表示一位十進位制有效數字,那麼單精度大概可以表示十進位制6位有效數字

- 指數字基數???

什麼叫單精度浮點型?什麼叫雙精度浮點型?

引用一寫道 單精度浮點型 float 專指占用32位儲存空間的單精度 single precision 值。單精度在一些處理器上比雙精度更快而且只占用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。當你需要小數部分並且對精度的要求不高時,單精度浮點型的變數是有用的。例如,當表示美元和分時...

Python 浮點型精度問題

目錄print 0.1 0.2 print 0.1 0.1 0.1 0.2 print 0.1 0.1 0.1 0.3 輸出 0.30000000000000004 0.10000000000000003 5.551115123125783e 17出現這種精度問題 因為十進位制與二進位制的相互轉換 ...

浮點型失去精度的解釋

從原理上來講,任何一門語言對於浮點數的計算都是不精確的。因為現在的computer都是基於二進位制數來儲存計算的。例如計算8 3時,computer會轉換為二進位制的加法1000 11 1011,然後再轉換為十進位制數為11。這種演算法對於整數來說是不會產生誤差的 如果不超過計算範圍 而對於浮點數計...