C/C에서 앞에 0이 있는 숫자 상수 이해하기
C/C에서 숫자 상수 앞에 '0'이 붙을 수 있습니다. 기본 또는 숫자 체계를 나타냅니다. 이 접두사는 상수가 8진수(8진법) 값임을 나타냅니다.
'0123'을 정수 상수로 사용하면 컴파일러는 이를 8진수 값으로 해석합니다. 8진수 체계에서 '123'은 10진수 값 83(881 3)을 나타냅니다. 따라서 값을 인쇄하면 123이 아닌 83이 출력됩니다.
이 동작은 GCC와 같은 C 및 C 컴파일러에서 일관됩니다. 변환 규칙은 약간 다를 수 있지만 접두사가 '0'인 부동 소수점 상수에도 적용됩니다.
숫자 상수의 기준을 명시적으로 지정하려면 다음 접두사를 사용할 수 있습니다.
예를 들어 10진수 123을 8진수로 표현하려면 '0123'을 사용하면 됩니다. 반대로 8진수 값 83을 10진수 상수로 나타내려면 83을 사용합니다.
위 내용은 C/C에서 '0123'이 '83'으로 인쇄되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!