科學計數法
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。這種演算法對於整數來說是不會產生誤差的 如果不超過計算範圍 而對於浮點數計...