ホームページ >バックエンド開発 >C++ >C# ではなぜ「short」整数にリテラル修飾子がないのでしょうか?

C# ではなぜ「short」整数にリテラル修飾子がないのでしょうか?

DDD
DDDオリジナル
2025-01-04 17:00:43648ブラウズ

Why Don't `short` Integers Have Literal Modifiers in C#?

一部の型にリテラル修飾子がない理由

C# では、long int などの整数型にはリテラル修飾子があり、short int などの他の型にはリテラル修飾子がありません。この区別により、なぜ特定の型にこの機能があり、他の型にはないのかという疑問が生じます。

C# の設計の背後にある原則は、機能はデフォルトでは存在せず、その利点によって正当化される必要があるということです。リテラル修飾子の場合、その利点は、目的の整数のサイズや符号付きを正確に指定できるため、long 型や unsigned 型などの型にも当てはまります。

long 型や unsigned 型の修飾子の正当性

整数計算の大部分には 32 ビットの符号付き整数が含まれており、これらはハードウェアによって効率的に処理されます。 C# のデフォルトはこの表現です。ただし、より大きな範囲を必要とする計算の場合は長整数が使用され、修飾子を使用してこの意図したサイズを明確に示すことができます。

さらに、相互運用シナリオとビット フィールド操作では符号なし整数を指定する必要があります。繰り返しますが、修飾子は、意図した符号の有無またはその欠如を示す簡潔な方法を提供します。

short での修飾子に対する正当性の欠如

対照的に、short 整数には、修飾子の理由:

  • 合法使用法: 整数リテラルは、short が有効な場合には常に使用できます。
  • Short での算術演算はありません: 算術演算は int、long、または ulong 型では実行されますが、演算は実行されません。ショートタイプ。 short は算術演算のために int に昇格するため、修飾子が冗長になります。

修飾子の利点は short 型には適用されません。 short では算術演算は行われず、リテラルはすでに short で使用できるため、short 修飾子を導入する説得力のある正当化はありません。

以上がC# ではなぜ「short」整数にリテラル修飾子がないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。