진법이란
컴퓨터는 하드웨어 수준에서 2진법(0과 1)을 사용합니다. 8진법(0–7)과 16진법(0–F)은 프로그래밍과 메모리 주소에서 자주 쓰이는 간결한 표현법입니다. 10진수를 다른 진법으로 변환할 때는 목표 진법으로 반복 나눗셈하고 나머지를 역순으로 읽습니다.
숫자와 입력 진법을 선택하면 2·8·10·16진법 결과를 한 번에 확인합니다.
컴퓨터는 하드웨어 수준에서 2진법(0과 1)을 사용합니다. 8진법(0–7)과 16진법(0–F)은 프로그래밍과 메모리 주소에서 자주 쓰이는 간결한 표현법입니다. 10진수를 다른 진법으로 변환할 때는 목표 진법으로 반복 나눗셈하고 나머지를 역순으로 읽습니다.
10진수를 다른 진법으로 바꾸려면 목표 진법으로 반복해서 나누고 나머지를 역순으로 읽습니다. 다른 진법을 10진수로 바꾸려면 각 자릿값에 해당 자릿수를 곱해 모두 더합니다. 예: 10진수 255는 2진수로 11111111, 8진수로 377, 16진수로 FF입니다.
16진수 FF는 10진수 255입니다(15 × 16 + 15 = 255).
2진수 1010은 10진수 10입니다(1×8 + 0×4 + 1×2 + 0×1 = 10).
10진수 255는 2진수 11111111입니다(1이 8개, 8비트 바이트가 표현할 수 있는 최댓값).
2진수 100은 10진수 4입니다(1×4 + 0×2 + 0×1 = 4).
16진수 7F는 10진수 127입니다(7×16 + 15 = 127). 부호 있는 8비트 바이트의 최댓값입니다.
10진수 10은 16진수 A입니다. 16진수는 A~F로 10~15를 나타냅니다.
10진수 8은 8진수 10입니다(8이 한 묶음, 1의 자리는 0).
8진수 377은 10진수 255입니다(3×64 + 7×8 + 7×1 = 255).
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 255 | 11111111 | 377 | FF |
| 100 | 1100100 | 144 | 64 |
| 42 | 101010 | 52 | 2A |
| 1000 | 1111101000 | 1750 | 3E8 |
| 8 | 1000 | 10 | 8 |
컴퓨터 하드웨어는 트랜지스터로 이루어져 있으며 켜짐·꺼짐 두 상태를 가장 안정적으로 구분합니다. 이 두 상태가 2진법의 1과 0에 자연스럽게 대응됩니다. 열 가지 상태보다 두 가지 상태를 쓰는 편이 신호를 잘못 읽을 가능성이 낮습니다.
16진수 한 자리는 정확히 2진수 4비트에 대응하므로 1바이트(8비트)는 항상 16진수 두 자리(예: 11111111 = FF)로 표현됩니다. 이 덕분에 16진법은 색상 코드나 메모리 주소처럼 2진수를 사람이 읽기 쉽게 줄인 표기로 널리 쓰입니다.
각 2진수 자리에 2의 거듭제곱(오른쪽부터 0)을 곱해 모두 더합니다. 예를 들어 2진수 1010은 (1×8) + (0×4) + (1×2) + (0×1) = 10진수 10입니다.
2진법은 0과 1만, 8진법은 0~7만, 10진법은 0~9만, 16진법은 0~9와 A~F(대소문자 무관)만 허용합니다. 다른 문자를 입력하면 해당 진법에서 오류가 표시됩니다.
이 도구는 음이 아닌 정수만 변환하며 음수·소수(정수가 아닌 값)나 2·8·10·16 이외의 진법은 지원하지 않습니다.
근거·출처: Donald E. Knuth, The Art of Computer Programming, Vol. 2: Seminumerical Algorithms(위치 기수법 표준 문헌)
최종 업데이트: 2026-08-17