Re: [問題] 想請問flash高手...這程式哪裡出問題?
※ 引述《etrexetrex (ETREX)》之銘言:
: 這是浮點數儲存時會造成的問題
: 因為浮點數用二進位表示法去逼近十進位的值
: 例如0.5 = 1/2 可以用2進位完全的表示
: 但 0.4 = 0.25 + 0.125 + 0.015625 + .....
: 二進位是無法表示0.4的
: 但是可以逼近到 0.3999999
: 因此若將實驗改為
: 隨機取出兩個數字後
: 將其中一個除以16另外一個除以128
: 然後再將兩個都乘以128
: 接著判斷這兩個數字和她們四捨五入到整數位的數字是否相等
: 應該就不會出現數字失真的問題
喔 我的天啊
原來如此?!
我昨天也想到 可能是顯示出來是112
可是實際上是111.999999999999999999999999999999....
所以四捨五入後變成112(flash在trace的時候好像會到某個位數就四捨五入)
但是實際上他還是差了112一點點
可是我卻沒辦法證實我的想法 也不知道為什麼會出現這樣的問題
經過您這麼一解釋
我就比較清楚為什麼會有問題了
上網查了一下
好像連c語言都是用類似的方式去紀錄
那是不是都會有失真的問題呢??
又
可以怎麼去克服呢?
(ps 我的程式已經用別種方式克服 可是我覺得還是有一點遺憾 可參考如下
http://pub.mlc.edu.tw/files/002679/learn/simple.swf
很簡陋 但是有達到一些我的目的了)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.19.207.209
推
11/20 19:22, , 1F
11/20 19:22, 1F
推
11/20 19:43, , 2F
11/20 19:43, 2F
→
11/20 19:43, , 3F
11/20 19:43, 3F
→
11/20 19:44, , 4F
11/20 19:44, 4F
→
11/20 19:44, , 5F
11/20 19:44, 5F
→
11/20 19:45, , 6F
11/20 19:45, 6F
→
11/20 19:45, , 7F
11/20 19:45, 7F
→
11/20 19:45, , 8F
11/20 19:45, 8F
→
11/20 19:47, , 9F
11/20 19:47, 9F
→
11/20 19:47, , 10F
11/20 19:47, 10F
→
11/20 19:48, , 11F
11/20 19:48, 11F
→
11/20 19:48, , 12F
11/20 19:48, 12F
→
11/20 19:49, , 13F
11/20 19:49, 13F
→
11/20 19:50, , 14F
11/20 19:50, 14F
推
11/20 20:32, , 15F
11/20 20:32, 15F
推
11/20 21:36, , 16F
11/20 21:36, 16F
→
11/20 21:36, , 17F
11/20 21:36, 17F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 8 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章