8진수 또는 10진수: C에서 0의 본질 공개
프로그래밍 영역에서는 리터럴 정수 표현이 중요합니다. 0이 항상 0이라는 것이 중요하지 않은 것처럼 보일 수도 있지만, 최근 토론에서 다음과 같은 질문이 촉발되었습니다. 0을 10진수 리터럴로 분류해야 할까요, 아니면 8진수 리터럴로 분류해야 할까요?
C 표준 공개
이 질문에 답하기 위해 우리는 C 언어 표준의 핵심을 탐구합니다. 섹션 2.14.2 [lex.icon]에 따르면 정수 리터럴은 구문에 따라 10진수, 8진수 또는 16진수로 분류될 수 있습니다.
구체적으로 표준에서는 8진수 리터럴을 다음과 같이 정의합니다.
octal-literal: 0 <-- Here octal-literal octal-digit
평결: 8진수 또는 10진수?
이 정의는 0이 8진수 리터럴에 해당함을 명백히 명시합니다. 표준은 입장을 명확하게 밝혔습니다. 다른 접두사나 접미사가 없으면 0은 C에서 8진수 리터럴로 해석됩니다.
역사적 맥락
초기 컴퓨팅에서 8진수 리터럴의 보급은 8비트 아키텍처의 지배력에 영향을 받았습니다. 그러나 오늘날 32비트 및 64비트 아키텍처가 널리 채택되면서 10진수 리터럴이 훨씬 더 일반화되었습니다.
그럼에도 불구하고 표준이 8진수 리터럴을 인정한 것은 초기 컴퓨팅의 유산을 상기시키는 역할을 합니다. 이전 코드베이스와의 호환성을 제공합니다.
위 내용은 0은 C의 8진수 또는 10진수 리터럴입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!