2013年7月13日 星期六

同浮點數玩遊戲

Playing Game with Floating Point Number

暑假開始了!女兒沒功課、沒溫習,那就外出玩耍。附近商場上星期新開了 E-Cube Club 兒童遊樂場,雖然一位小童連一位家長要 HK$150 十分昂貴,但快樂一天也不錯,而且女兒有女兒玩耍,我有我在 MacBook Air 上繼續開發《AMIGO Controller》。


今天主力開發「動作編輯器」的編輯功能。花了兩三小時已經完成,但測試時發現數值上有所出入,只好先行除錯。明明算法沒有錯,但結果卻爭一點點。就像圖中的 x 一樣,4x10x20 得出是 799。


如這張 0.9 不等如 0.9。


又例如這張 0.9-0.1-0.8 竟然是 -5.96046e-08。全部都是差一點點。嘗試過很多方法都無效。反正只用上小數點後兩位的數值,最後決定把所有數值改為 int,把原有的數值乘大一百倍來計算。

沒有留言: