PC上での計算は乗算の方が除算よりも効率的だというのは、なんとなく知っていて、
200/100
より
200*0.01
の方が良かろうと思っていたのですが、
ちとAS3で色々試していると(Loading系)
みたいな事をやっていたのですけど、これでやってると
ってなかんじで誤差が出てしまう。
で、
でやると
ってな具合にすっきり。
あんまり乗算に置き換えない方が良いですかね?
違う問題なのかいな?
追記:2008/01/07 16:53
ちとこの問題がAS3固有のものなのか?(AS2ではこのような現象は見たことがないので)を検証。
これをAS3で実行すると、
のような誤差が発生する。
で、これをAS2で実行すると誤差が発生することはない。(100*10回ぐらいしか試してないですが)
はて・・。
で、100で除算した場合はどちらも問題なく誤差は発生しませんでした。
どうもAS3において、Number同士の演算にはなにかしら誤差が発生するのかも知れません・・・。
ちなみに
0,01を
0.01000000000000000000000000000000000000000000000000
とかにしても駄目でした。
ついでに
1E-2;
でも駄目でした。
「誤差」への2件の返信
0.01を掛けると、最初から浮動小数点演算で、100で割ると、途中までは整数で扱われるからたまたま誤差が0になったように見えただけ、とか・・・・
いずれにしても小数を扱う時には誤差が発生する事を覚えておかないとダメなんですね・・・
どうもこの問題はAS3になってからの問題のようです。
ちょっと調べてみたので後で追記しておきます。