ホームページ > バックエンド開発 > C++ > C# で整数オーバーフローを処理するにはどうすればよいですか?

C# で整数オーバーフローを処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-26 06:58:09
オリジナル
732 人が閲覧しました

How Can I Handle Integer Overflow in C#?

C# 整数のオーバーフロー処理

プロジェクト オイラーの問題 10 のコンテキストで、整数 (int) を使用すると予期しない動作が発生しました。 200 万未満の素数の合計を計算する変数。結果が int の最大値を超えているにもかかわらず、C# ではオーバーフロー例外が発生しませんでした。

他のプログラミング言語とは異なり、C# の整数演算は、デフォルトではオーバーフロー時に例外をスローしません。これは、オーバーフローが発生した場合、結果がデータ型の範囲内の値に単純に「ラップアラウンド」されることを意味します。 int の場合、結果は負の値の範囲内にあり、求めていた実際の合計とは程遠いものになります。

オーバーフローを明示的に処理するには、2 つのオプションがあります:

  1. プロジェクト設定: Visual Studio では、[算術オーバーフロー検出] オプションを [有効にする] に設定することで、プロジェクト設定でオーバーフロー チェックを有効にできます。すべての算術演算。"
  2. Checked Operator: あるいは、checked キーワードを使用して、特定の計算をチェックすることもできます。例:
int result = checked(largeInt + otherLargeInt);
ログイン後にコピー

この場合、オーバーフローは System.OverflowException をスローします。

checked の反対は unchecked であり、オーバーフロー チェックが抑制されます。これは、プロジェクト設定でオーバーフロー チェックが有効になっている場合にのみ使用してください。

以上がC# で整数オーバーフローを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート