>  기사  >  백엔드 개발  >  C에서 짧은 리터럴을 어떻게 작성합니까?

C에서 짧은 리터럴을 어떻게 작성합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 13:33:301003검색

How Do I Write Short Literals in C  ?

C에서 짧은 리터럴 작성

C에서는 변수에 짧은 정수 값을 할당해야 할 수도 있습니다. 숫자 데이터를 올바르게 작업하려면 C에서 짧은 리터럴을 표현하는 방법을 이해하는 것이 중요합니다.

기존 리터럴

다양한 데이터 유형에 대한 다양한 리터럴 표현에 익숙합니다.

  • 2: 정수(int)
  • 2U: 부호 없는 정수(unsigned int)
  • 2L: Long(long)
  • 2LL: Long Long (long long)
  • 2.0f: Float(float)
  • 2.0: Double(더블)
  • '2': 문자(char)

짧은 리터럴

안타깝게도 C에는 짧은 리터럴에 대한 직접적인 구문이 없습니다. 그러나 캐스팅을 사용하여 원하는 결과를 얻을 수 있습니다. 캐스팅에는 한 데이터 유형을 다른 데이터 유형으로 변환하는 작업이 포함됩니다.

짧은 리터럴을 나타내려면 다음과 같이 정수를 짧은 데이터 유형으로 캐스팅할 수 있습니다.

<code class="cpp">((short)2)</code>

이 표현식은 효과적으로 짧은 정수를 생성합니다. 값은 2입니다. 컴파일러는 코드를 최적화하므로 내부적으로 짧은 리터럴로 해석됩니다.

다음 코드는 캐스팅을 통해 짧은 리터럴을 사용하는 방법을 보여줍니다.

<code class="cpp">short a = (short)2;
short b = (short)10;</code>

이 예에서 변수 a와 b는 short 데이터 유형이고 각각 ​​값 2와 10을 갖습니다.

디스어셈블리

컴파일러의 효율성을 보장하기 위해 컴파일된 코드를 분해하여 동작을 확인할 수 있습니다. 다음 코드를 컴파일하고 디스어셈블하면

<code class="cpp">int main() {
    short a = (short)2;
    return 0;
}</code>

어셈블리 코드가 생성됩니다.

movl , -4(%rbp)  

보시다시피 값 2는 메모리 위치에 직접 저장됩니다. 최적화에 성공했습니다.

위 내용은 C에서 짧은 리터럴을 어떻게 작성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.