中級 › 整数のオーバーフローが例外にならない理由 › パターン3
整数のオーバーフローが例外にならない理由
int型の範囲(約-21億〜21億)を超える計算をしても、既定では例外にならず値が折り返ります。
1 class Program { 2 static void Main(string[] args) { 3 int min = int.MinValue; 4 int result = min - __; ^ 5 System.Console.WriteLine(result); 6 } 7 }
出力: 2147483647
空欄を埋めてビルドを通す
下限を下回る場合も同様に、例外を出さず上限側へ折り返します。checked演算子を使うと検出できます。
次の問題