진법 변환기 2진수 · 8진수 · 10진수 · 16진수 · 임의 진법

실시간 변환기

위에 숫자를 입력하면 변환 단계가 표시돼요.

빠른 참조표: 0~15 전진법 대조

10진수 2진수 8진수 16진수

진법 변환의 원리

모든 수 체계는 기수(진법) — 사용하는 고유 숫자 기호의 수 — 를 기반으로 해요. 일상적인 10진법은 기수 10(0~9)을 사용해요. 컴퓨터는 기본적으로 2진수(기수 2, 숫자 0~1)를 사용해요. 프로그래머들은 이진 데이터의 간결한 표기를 위해 8진수(기수 8)와 16진수(기수 16)를 자주 사용해요.

2진수에서 10진수로

각 이진수 자리(비트)는 오른쪽부터 0번 위치로 세어 자릿값에 따른 2의 거듭제곱을 나타내요. 각 비트에 자릿값을 곱해 합산하면 됩니다:

1010 (2진수) = 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 8 + 0 + 2 + 0 = 10 (10진수)

10진수에서 2진수로 (반복 나눗셈)

10진수를 2로 반복해서 나누면서 나머지를 기록해요. 나머지를 아래에서 위로 읽으면 2진수가 됩니다:

10 ÷ 2 = 5 나머지 0 5 ÷ 2 = 2 나머지 1 2 ÷ 2 = 1 나머지 0 1 ÷ 2 = 0 나머지 1 → 나머지를 아래에서 읽기: 1010

16진수

16진수는 16개의 기호를 사용해요: 0~9와 A~F (A=10, B=11, C=12, D=13, E=14, F=15). 16진수 한 자리는 정확히 4개의 이진 비트를 간결하게 표현해요. 두 자리의 16진수가 1바이트를 나타내죠. 이 때문에 16진수는 메모리 주소와 색상 코드에 이상적이에요.

8진수는 왜 쓰나요?

8진수(기수 8)는 초기 컴퓨팅에서 인기를 끌었어요. 3개의 이진 비트가 정확히 8진수 한 자리에 대응하기 때문이에요. Unix 파일 권한(chmod 755 = 2진수로 111 101 101)과 오래된 프로그래밍 환경에서 볼 수 있어요.

2의 보수

컴퓨터는 2의 보수를 사용해 음의 정수를 표현해요. N비트 레지스터에서: 최상위 비트가 0이면 값은 양수(부호 없음과 동일). 최상위 비트가 1이면 부호 있는 값은 부호 없는 값에서 2N을 뺀 값이에요. 예를 들어 8비트 11111111 = 255(부호 없음) = −1(부호 있음).

2의 보수 해석기

N비트 2진수를 입력하면 부호 없음과 부호 있음(2의 보수) 해석을 모두 확인할 수 있어요. 위의 비트 보기 패널에서 개별 비트를 토글하면 모든 값이 실시간으로 업데이트돼요.

아래 표는 일반적인 8비트 2의 보수 값을 보여줘요:

2진수 (8비트) 부호 없음 부호 있음 (2의 보수)
0000 000000
0111 1111127127 (최대 양수)
1000 0000128−128 (최소 음수)
1111 1111255−1
1111 1110254−2
1000 0001129−127

자주 묻는 질문

2진수를 10진수로 변환하는 방법은?
각 이진 자리에 자릿값의 2의 거듭제곱을 곱해 합산하세요. 예: 1010₂ = 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 8+0+2+0 = 10₁₀. 이 도구는 즉시 계산하고 단계도 보여줘요.
16진수는 어디에 쓰이나요?
16진수(기수 16)는 프로그래밍에서 메모리 주소, 색상 코드(#FF5733), 이진 데이터를 간결하게 표현하는 데 쓰여요. 2자리의 16진수는 항상 정확히 1바이트(8비트)를 나타내 원시 2진수보다 훨씬 읽기 쉬워요.
2의 보수란 무엇인가요?
2의 보수는 컴퓨터가 음의 정수를 표현하는 표준 방법이에요. N비트 수에서 최상위 비트가 1이면, 부호 있는 값은 부호 없는 값에서 2N을 뺀 값이에요. 8비트 11111111 = 255(부호 없음) = −1(부호 있음).
이 변환기가 처리할 수 있는 가장 큰 숫자는?
이 변환기는 JavaScript BigInt를 사용해 정밀도 손실 없이 임의로 큰 정수를 처리할 수 있어요. 표준 JS Number는 253−1까지만 정확하지만 BigInt는 그 제한을 완전히 없애줘요.
기수 36은 무엇이고 어디서 쓰이나요?
기수 36은 0~9 숫자와 A~Z 문자를 사용해요. 영숫자만 사용하는 가장 간결한 표현이며 URL 단축기, 시리얼 번호, 인코딩된 식별자에 사용돼요.