>  기사  >  백엔드 개발  >  C에서 `long`은 최소 32비트가 보장됩니까?

C에서 `long`은 최소 32비트가 보장됩니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-26 18:10:30670검색

Is `long` Guaranteed to be at Least 32 Bits in C  ?

long은 최소 32비트가 보장되나요?

C 표준에서는 적분 데이터 저장 측면에서 다음과 같은 우선 순위를 규정합니다. 기본 유형:

sizeof(char) ≤ sizeof(short int) ≤ sizeof(int) ≤ sizeof(long int)

char 크기에 대한 추가 설명은 섹션 1.7/1에 제공됩니다.

The fundamental storage unit in the C++ memory model is the byte. A byte is at least large enough to contain any member of the implementation’s basic character set and is composed of a contiguous sequence of bits, the number of which is implementation-defined.

이는 sizeof(char)가 1에서 n 사이일 수 있음을 나타냅니다. 여기서 n은 구현에 따라 다릅니다. 그러나 C 표준에는 Long이 수용할 수 있는 값에 대한 최소 제한을 정의하는 C 표준(1.2/1)에 대한 지식도 필요합니다.

LONG_MIN = -2147483647 // -(2^31 - 1)
LONG_MAX = +2147483647 //   2^31 - 1

long은 양수와 음수를 모두 보유할 수 있어야 하므로 값이 이 제한에 도달하면 long의 크기는 최소 32비트여야 한다는 것이 논리적으로 추론됩니다.

간단히 말하면 C 표준에서는 바이트의 비트 수를 지정하지 않은 반면 LONG_MIN에 적용되는 최소 제한은 LONG_MAX는 long이 최소 32비트의 저장 공간을 가져야 함을 의미합니다.

위 내용은 C에서 `long`은 최소 32비트가 보장됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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