Menu
CoddyTech

왜 16진법인가?

Coddy Assembly 여정의 기초 섹션에 포함된 레슨. 45개 중 10번째.

이제 컴퓨터가 이진수를 사용한다는 것을 알았습니다. 그렇다면 어셈블리 프로그래머는 왜 이진수를 직접 작성하는 경우가 드물까요?

이진수의 문제점:

이진수는 매우 깁니다. 다음 예를 살펴보세요:

숫자이진수
25511111111
10001111101000
655351111111111111111

1과 0으로 이루어진 긴 문자열을 쓰는 것은 느리고, 오류가 발생하기 쉬우며, 읽기 어렵습니다.

해결책: 16진수(기수 16).

16진수(또는 "hex")는 16개의 기호를 사용합니다:

숫자값
0-90부터 9까지
A10
B11
C12
D13
E14
F15

16진수가 컴퓨터에 적합한 이유:

16진수 한 자리는 정확히 4비트(1바이트의 절반)를 나타냅니다.

비트필요한 16진수 자릿수
4비트 (니블)16진수 1자리
8비트 (1바이트)16진수 2자리
16비트 (2바이트)16진수 4자리
32비트 (4바이트)16진수 8자리
64비트 (8바이트)16진수 16자리

같은 수, 세 가지 표현:

십진수이진수16진수
25511111111FF
100011111010003E8
655351111111111111111FFFF

16진수가 2진수보다 얼마나 짧은지 확인해 보세요.

어셈블리에서 16진수를 볼 수 있는 곳:

  • 메모리 주소(예: 0x7FFF 또는 0x402000)
  • ASCII 코드(예: 'A'를 나타내는 0x41, 줄 바꿈을 나타내는 0x0a)
  • 디버거의 레지스터 값
  • 색상 값(빨간색의 경우 0xFF0000 등)

16진수는 접두사를 붙여 표기합니다:

접두사예시의미
0x0xFF16진수 FF (10진수 255)
$$FF같은 의미 (일부 어셈블러에서 사용)
hFFh같은 의미 (구식 표기법)

이 강좌에서는 0x 접두사를 사용합니다: 0x0a, 0x41, 0xFF.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Assembly 플레이그라운드

변환 결과 확인하기: 진법 변환기