中級 › 整数のオーバーフローが例外にならない理由 › パターン5
整数のオーバーフローが例外にならない理由
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 }
出力: 2147483645
空欄を埋めてビルドを通す
掛け算でも同じことが起きます。桁あふれは例外を投げず計算を続けてしまいます。
次の問題