gyumin.log

%x와 진법 변환 사다리

printf("%x", 16)이 왜 10을 찍는지 손으로 계산이 안 돼서, 진법 변환을 사다리 타듯 내려가는 법으로 정리했다. ⭐ 26년 1회 실기에 %x가 실제 출제됐다.

서식지정자 = 진법 선택기

서식어원의미n=16 출력n=255 출력
%dDecimal10진수16255
%x / %XheXadecimal16진수10ff / FF
%oOctal (octopus=8)8진수20377

값은 메모리에 그대로 있고, 서식은 읽는 방법만 바꾼다.

진법 변환 사다리 - 규칙 3개

  1. 몫이 0 될 때까지 “몫”을 나눈다 (나머지는 옆에 킵, 내려가는 건 몫!)
  2. 나머지를 아래→위로 읽는다 - 먼저 나온 나머지가 낮은 자리라서
  3. 10~15는 글자로: 10=a, 11=b, 12=c, 13=d, 14=e, 15=f
예) 45 → %x                 예) 16 → %x
45 ÷ 16 = 2 ... 13          16 ÷ 16 = 1 ... 0
 2 ÷ 16 = 0 ... 2            1 ÷ 16 = 0 ... 1
아래→위: 2, d → "2d"        아래→위: 1, 0 → "10"

검산 2가지 (긴가민가할 때 3초)

  • 몫 × 나누는수 + 나머지 = 원래 수 (예: 2×16+13=45 ✓)
  • 읽는 순서 헷갈리면 되돌려보기: 10₍₁₆₎ = 1×16+0 = 16 ✓ / 01 = 1 ✗
  • 나머지는 나누는 수보다 항상 작다 (16으로 나누면 0~15만 가능) - 15보다 큰 나머지가 나왔다면 계산 실수

%e 지수 표기 = 소수점 이사 세기

  • 왼쪽으로 n칸 → e+0n / 오른쪽으로 n칸 → e-0n
  • 3456.7 → %.1e → 3.5e+03 (왼쪽 3칸, 반올림)

답안 작성 주의

  • 출력값은 공백까지 그대로: 16 10 20
  • %x 결과의 “10”은 십이 아니라 16진 표기 - 보이는 글자 그대로 쓰기

서식 지정자 전체 표와 진법 단골 값들은 노트 C 출력 함수에 있다.