プログラミング言語で特定のデータ型にリテラル修飾子が欠けている理由
C# のようなプログラミング言語は一貫性と論理設計を追求していますが、場合によっては特定のデータ型にはリテラル修飾子が不足している場合があります。このため、このような差異の背後にある理由について疑問が生じます。
ケース スタディ: C# での long int と short int
C# での long int と short int の例を考えてみましょう。 。前者はリテラル修飾子 (「L」または「l」) を持ちますが、後者は持ちません。これは、なぜこの分離なのかという疑問を引き起こします。
不在を守る
標準的な議論は、文字通りの修飾子のような機能は、その利点がコストを上回る場合に導入されるというものです。 short int の場合、int の既存の機能を考慮してその必要性を正当化する責任は支持者にあります。
long int のリテラル修飾子の正当性
整数計算の圧倒的多数は、32 ビット符号付き整数 (int) の範囲内に収まります。したがって、C# では算術演算のデフォルトでこの表現が使用され、整数リテラルの接尾辞「1」が直感的に使用できるようになります。
ただし、計算がこの範囲を超える場合や、特定のビット パターンが必要な場合は、「L」や「U」などの修飾子を使用します。 』が登場します。これらは、それぞれ 64 ビットの long int または符号なし整数を使用する意図を明確に示しています。
short int ではない理由
long int とは異なり、理由は 2 つあります。 short int にリテラルがないのはなぜですか修飾子:
結論
要約すると、リテラル修飾子は、その利点が明らかな型に対して提供されています。 int の場合、デフォルトの表現はほとんどの場合に適していますが、long int と符号なし整数は特定のニーズに対応します。 short int には修飾子がありません。int はすでにその機能を満たしており、言語での明示的な算術には使用されないためです。
以上がC# ではなぜ「short int」データ型にリテラル修飾子がないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。