C/C에서 Long Long 이해
C 및 C에서 'long long' 데이터 유형은 64비트의 부호 있는 정수를 나타냅니다. 정밀함. 이를 통해 'int' 또는 'long'과 같은 표준 정수 유형으로 수용할 수 없는 매우 크거나 작은 숫자를 표현할 수 있습니다.
제공된 코드 조각에서 'long'의 동작과 관련하여 몇 가지 질문이 제기되었습니다. long' 변수:
'long long'의 크기:
'sizeof' 연산자는 변수 또는 데이터 유형의 크기를 바이트 단위로 반환합니다. 'num3'은 어떤 값으로도 초기화되지 않았기 때문에 초기화되지 않은 상태로 유지되고 크기가 정의되지 않아 0이 됩니다. 이 문제를 해결하려면 'long long' 값으로 'num3'을 명시적으로 초기화하세요.
정수 오버플로:
C는 정수 오버플로를 자동으로 처리합니다. 변수에 할당된 값이 용량을 초과하면 가장 낮은 값부터 계속해서 계산됩니다. 이 경우 'long' 변수에 10000000000을 할당하면 오버플로가 발생하고 결과는 음수 값이 됩니다. 그러나 'num2'는 'long long'이므로 큰 값을 오버플로 없이 수용할 수 있습니다.
리터럴 정수 상수:
C 및 C에서는 정수 상수는 강력한 형식입니다. 대상 데이터 유형의 제한을 초과하는 리터럴 정수 상수를 할당하면 컴파일 오류가 발생합니다. 이 예에서 상수 100000000000은 'long' 범위를 초과하며, 'LL'을 추가하면 'long long' 상수로 처리되어야 함을 명시적으로 지정합니다.
위 내용은 C/C에서 'long long'이 'int' 또는 'long'과 다르게 동작하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!