Desire的小算盤有問題啦!

@@" 我好像拆錯數字了,樓主是84.6-81.2,不過概念是一樣的

剛剛大約研究了一下,找到了可能的原因
由於電腦是用二進位的計算方式

註: 2^6 = 2的六次方

所以
83.6 = 2^6 + 2^3 + 2^1 + 2^0 + 2^-1 + 2^-4 + 2^-5 + 2^-8 + 2^-9 + 2^-12 + 2^-13 + 2^-16 + 2^-17 + 2^-20 .................. 結果是不管怎麼加都不會等於83.6,只能說是趨近於83.6


80.2 = 2^6 + 2^3 + 2^-3 + 2^-4 + 2^-7 + 2^-8 + 2^-11 + 2^-12 + 2^-15 + 2^-16 + 2^-19 + 2^-20.................. 結果也是怎麼加都不會等於80.2(也是趨近於80.2)

所以兩個相減就會變成3.39999999999......,趨近3.4,但是跟3.39(9循環)又是不一樣的唷

有興趣的人可以下載Excel檔再繼續拆解下去.....

EXCEL的截圖


EXCEL檔案
附加壓縮檔: 201007/mobile01-0c7e5770497eafe733f35b6d122a6c16.zip

真的是很有趣的一個"現象"
這應該算是CPU的問題! 以前微軟的QuickBASIC也有一樣的問題
好像是4/3 還是甚麼之類的算出來的值就會有問題!!!
wezmag wrote:
3.39999999999......,趨近3.4,但是跟3.39(9循環)又是不一樣的唷

「3.39999999999......,趨近」與「3.39(9循環)」是一樣意思的寫法,又與「3.4」是一樣的東西,可以看成這兩種寫法的差是零。
我的 Desire 也跟你一樣耶~

但是我用另外灌的 handyCalc 就沒問題,這個好用~
哈~~我也一樣!!!

不過這麼簡單的算數.

自己算就好.

不然就四捨五入~


Coopoo wrote:
「3.39999999999......,趨近」與「3.39(9循環)」是一樣意思的寫法,又與「3.4」是一樣的東西,可以看成這兩種寫法的差是零。


如果X=Y
兩邊同乘上10000
得10000X=10000Y

如果3.39(9循環) = 3.4
兩邊同乘上10000
得33,999.9(9循環) = 34,000

Sorry,我不是數學系的,我只是要解釋電腦的二進位算法
如果有誤導的地方,還請大家原諒
剛剛測試了milestone..
沒問題說....是3.4

這是android 的問題嘛==?
Hero 中獎 +1

稍微試一下,似乎 60 以上比較會出錯

64.6-62.2 也是 2.39 (9 循環)

但是 62.6-60.2 是正確的 … 奇妙的 Bug
ching1206 wrote:
不知道是我的小算盤有...(恕刪)


Magic Android 1.5版的是正常的!
分身/多重廣告帳號一堆,不用按回報檢舉了,站方沒時間管的! 無良奸商都是懦弱的消費者養出來的!!
Vibo A688 也跟摟主算出來的一模一樣XD~~真是巧阿
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!