> 백엔드 개발 > C++ > C에서 접두사가 0인 숫자는 어떻게 해석됩니까?

C에서 접두사가 0인 숫자는 어떻게 해석됩니까?

Susan Sarandon
풀어 주다: 2024-11-26 12:07:10
원래의
1051명이 탐색했습니다.

How Are Zero-Prefixed Numbers Interpreted in C  ?

C에서 접두사가 0인 숫자

C에서 정수 리터럴을 처리할 때 숫자가 0으로 시작하면 특정 동작이 발생합니다. 이러한 동작은 해석된 숫자의 밑을 중심으로 진행됩니다.

8진수 해석

정수 리터럴이 0으로 시작하면 일반적으로 8진수(base-8이라고도 함)로 해석됩니다. 이는 사용되는 숫자가 0부터 7까지라는 것을 의미합니다. 예를 들어 07은 십진수 값 7과 같습니다.

특수 사례: 00x

그러나 정수 리터럴이 00x인 경우에는 다음과 같습니다. 16진수를 사용하는 16진수로 처리됩니다. 접두사 0x로 시작하고 숫자 0-9와 A-F를 사용하여 십진수 값 0-15를 나타냅니다.

08 오류

이 조합 때문에 정수 리터럴이 08로 시작하면 오류가 발생합니다. C에서는 정의되지 않았습니다. 8진수 8 같은 것은 없습니다.

선행 0 시퀀스

정수 리터럴이 여러 개의 0으로 시작하는 경우 첫 번째 것을 제외한 모든 선행 0은 무시됩니다. 예를 들어, 00016은 8진수 16으로 해석되며 이는 10진수 값 14와 동일합니다. 이는 016이 8진수 14를 나타내기 때문입니다.

따라서 주어진 예에서는 다음과 같습니다.

  • 07은 십진수 7입니다.
  • 16은 16입니다. 10진수.
  • 00016은 10진수 14입니다.
  • 05016은 10진수 2574입니다(8진수 값으로 해석되므로 14가 아님).
  • 08은 유효한 8진수가 아니기 때문에 컴파일 오류가 발생합니다. 숫자.

위 내용은 C에서 접두사가 0인 숫자는 어떻게 해석됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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