掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
この処理でオーバフローが起きる理由は? (ID:91567)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もっと式の型に気をつけましょうということですなぁ… ・Integerのリテラル:300 →VB6では、整数のリテラルが32767以下なら暗黙的にIntegerになります。 ・Integerの変数:i ・(Integer)*(Integer)の演算結果:Integer よって、i=110のときi*300=33000>32767となり、 Integerの範囲を超えるのでオーバーフローが発生します。 こういうときは ・乗算演算子"*"は大きい型に変換してから演算する という性質をつかって (Integer)*(Long) という式にしたりしてごまかします。 例えば、Longのリテラル:300&を使って、"300&*i"としてみると… ι(´Д`υ)アツィー
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.