> 백엔드 개발 > C++ > C#에서 'short' 정수에 리터럴 수정자가 없는 이유는 무엇입니까?

C#에서 'short' 정수에 리터럴 수정자가 없는 이유는 무엇입니까?

DDD
풀어 주다: 2025-01-04 17:00:43
원래의
647명이 탐색했습니다.

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

일부 유형에 리터럴 수정자가 없는 이유

C#에서 long int와 같은 정수 유형에는 리터럴 수정자가 있는 반면, short int와 같은 정수 유형에는 리터럴 수정자가 없습니다. 이러한 구별은 특정 유형에는 이 기능이 있고 다른 유형에는 없는 이유에 대한 의문을 제기합니다.

C# 설계의 원칙은 기능이 기본적으로 없으며 해당 기능의 이점으로 정당화되어야 한다는 것입니다. 리터럴 수정자의 경우 의도한 정수 크기 또는 부호 있음을 정확하게 지정할 수 있기 때문에 long 및 unsigned 유형과 같은 유형에 이점이 적용됩니다.

long 및 unsigned 유형에 대한 수정자의 정당성

대부분의 정수 계산에는 하드웨어에서 효율적으로 처리되는 32비트 부호 있는 정수가 포함됩니다. C#에서는 기본적으로 이 표현을 사용합니다. 그러나 더 큰 범위가 필요한 계산의 경우 긴 정수가 사용되며 수정자를 사용하면 의도한 크기를 명확하게 표시할 수 있습니다.

또한 interop 시나리오 및 비트 필드 조작에는 부호 없는 정수를 지정해야 합니다. 다시 말하지만, 수정자는 의도된 부호 있음 또는 부호 없음을 나타내는 간결한 방법을 제공합니다.

short에 대한 수정자의 정당성 부족

반면, 짧은 정수에는 수식어 이유:

  • 법적 사용: 정수 리터럴은 short가 허용되는 곳에서 항상 사용할 수 있습니다.
  • Shorts에는 산술 연산이 없습니다: 산술은 int, long 또는 ulong 유형에서 수행되지만 short 유형에서는 수행되지 않습니다. Short는 산술을 위해 int로 승격되어 수정자를 중복되게 만듭니다.

수정자의 이점은 short 유형으로 확장되지 않습니다. Shorts에서는 산술 연산이 수행되지 않고 이미 Shorts에서 리터럴을 사용할 수 있으므로 short 수식어를 도입할 설득력 있는 정당성이 없습니다.

위 내용은 C#에서 'short' 정수에 리터럴 수정자가 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿