剰余の比較が正しくされないです(バグ報告掲示板)
投稿: cfm_
投稿:2016/01/13 18:06:13(最新:2016/04/12 19:23:12)
ノベルゲームのシーンエディタです。
speak(0*2==0)はTrueと出るのに、
speak(0%2==0)を実行すると、NaNと発言され、
同じように、if 0%2==0 を実行すると、False扱いになります。
また、speak((0%2)==0)とするとTrueと正しくなりました。
ツイート
speak(0*2==0)はTrueと出るのに、
speak(0%2==0)を実行すると、NaNと発言され、
同じように、if 0%2==0 を実行すると、False扱いになります。
また、speak((0%2)==0)とするとTrueと正しくなりました。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
そもそも
0を割るという行為(ゼロ除算)自体が
数学的に例外であり、
コンピュータ計算上も
エラーを出すのが一般的です
これを防ぐためには
予め、0であるかどうかのif文を設定しておき、
0以外の場合、除算や余算を行う、
という処理に直せば正しく動作します
0を割るという行為(ゼロ除算)自体が
数学的に例外であり、
コンピュータ計算上も
エラーを出すのが一般的です
これを防ぐためには
予め、0であるかどうかのif文を設定しておき、
0以外の場合、除算や余算を行う、
という処理に直せば正しく動作します
すいません。「ゼロを割る」でなく「ゼロで割る」でないですか?
それで、説明が悪かったかもしれません
これらすべてでNaNが返されます。
それで、説明が悪かったかもしれません
speak(1%2==0) speak(2%2==0) speak(3%2==0) speak(1%2==1) speak(2%2==1) speak(3%2==1)
これらすべてでNaNが返されます。
申し訳ありません
一部、誤解をしておりました
追記して頂いたとおり、
また、
でもNaNと表示されることを確認しました
なお、
および
は正常に表示されるようです
もしかすると
文章表示方法と文章表示中の効果
こちらが関係しているのかもしれませんが、
理由や原因については
私もよくわかりません、、、
もしくは、
単純に算術の優先順位が
%より==のほうが
高いのかもしれません、、、
一部、誤解をしておりました
追記して頂いたとおり、
speak(1%2==0)
また、
a = 1%2==0 speak(a)
でもNaNと表示されることを確認しました
なお、
speak((1%2)==0)
および
a = 1%2 speak(a==0)
は正常に表示されるようです
もしかすると
文章表示方法と文章表示中の効果
こちらが関係しているのかもしれませんが、
理由や原因については
私もよくわかりません、、、
もしくは、
単純に算術の優先順位が
%より==のほうが
高いのかもしれません、、、
メニュー
speak(3%2+1)
を実行すると、0と表示される(それぞれの数字が何であっても0と表示)