작성
·
370
0
강의 약 8분 18초 쯤, '\a'를 8진수와 16진수로 출력하는 과정에서 8진수앞에는 접두사 0을 붙혔는데 16진수앞에는 왜 x만 붙힌건가요..? 16진수 접두사는 0x라고 들었던것 같은데 직접해보니 '\0x7'은 그냥 7이 나오고 '\x7'은 백스페이스 소리가 나는 이유가 궁금합니다!
답변 1
1
원래 그렇게 표기합니다.
접두사 0을 붙임으로써 8진수라고 표기하는 것이고
접두사 0x를 붙임으로써 16진수라고 표기하는 거에요 :)
int main()
{
//10진수 출력
printf("%d\n", 10);
printf("%d\n", 010);//8진수 10(8진수) = 8+0 = 8
printf("%d\n", 0x10);//16진수 10(16진수)16+0 = 16
return 0;
}
답변 감사합니다! 말씀하신것처럼 16진수의 접두사가 0x인걸로 알고있는데, 강의 8분 20초에 16진수로 숫자 7을 받는데 0x7이 아닌 x7을 사용해서요 왜 그런지 이유를 알고싶습니다.