C는 10진수 외에 8진수나 16진수의 데이터 표현도 가능하다.
int num1 = 10; // 특별한 선언이 없으면 10진수
int num2 = 0xA; // 0x로 시작하면 16진수
int num3 = 012; // 0으로 시작하면 8진수
위 코드와 같이 0x로 시작하면 16진수, 0으로 시작하면 8진수로 인식한다. 위 코드에서 16진수 A나 8진수 12는 모두 10 진수로 10이다. 따라서 저장되는 값은 모두 10으로 동일하다. 초기화에 사용된 표현 방식만 다를 뿐이다.