中級 › 整数のオーバーフローが例外にならない理由 › パターン2
整数のオーバーフローが例外にならない理由
int型の範囲(約-21億〜21億)を超える計算をしても、既定では例外にならず値が折り返ります。
1 class Program { 2 static void Main(string[] args) { 3 int max = int.MaxValue; 4 int result = max * __; ^ 5 System.Console.WriteLine(result); 6 } 7 }
出力: -2
空欄を埋めてビルドを通す
掛け算でも同じことが起きます。桁あふれは例外を投げず、そのまま計算を続けてしまいます。
次の問題