• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

3.10 문자형 백스페이스 질문입니다!

23.01.17 21:16 작성 조회수 281

0

강의 약 8분 18초 쯤, '\a'를 8진수와 16진수로 출력하는 과정에서 8진수앞에는 접두사 0을 붙혔는데 16진수앞에는 왜 x만 붙힌건가요..? 16진수 접두사는 0x라고 들었던것 같은데 직접해보니 '\0x7'은 그냥 7이 나오고 '\x7'은 백스페이스 소리가 나는 이유가 궁금합니다!

답변 1

답변을 작성해보세요.

1

강민철님의 프로필

강민철

2023.01.18

원래 그렇게 표기합니다.

접두사 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;
}
gns님의 프로필

gns

질문자

2023.01.18

답변 감사합니다! 말씀하신것처럼 16진수의 접두사가 0x인걸로 알고있는데, 강의 8분 20초에 16진수로 숫자 7을 받는데 0x7이 아닌 x7을 사용해서요 왜 그런지 이유를 알고싶습니다.