うわホントだ
実際に
VAR A%,B#
B#=4294506744
A%=B#
ってやるとオーバーフローする!
メンドクサー
要するに変数の型で確保してるメモリの幅が違うから整数化処理を挟んでやんないとダメってことー!?
回避するには、実数型の変数を整数型の変数に代入する場合は強制的に整数型に整形する<<0みたいな処理を入れるとかなのかな
言われないとこれ気が付かないわー
試しに
2147023096 (4294506744から二進数表記で32bit目を0に変えた数)を
B#=2147023096<<3
A%=B#
ってやったらオーバーフローはしなかったっス
実数型の変数を整数型の変数に代入すると自動的に小数点以下が切り捨てになって便利だから、私もこういう書き方は結構使ってましたけど
しんいちさんGJ!