진수 변환기

숫자를 입력하면 모든 진수로 변환하고, 과정을 단계별로 보여줍니다.

10진수DEC
2진수BIN
8진수OCT
16진수HEX
비트 시각화

숫자를 입력하면 비트가 표시됩니다

변환 과정

숫자를 입력하면 변환 과정이 표시됩니다

진수 비교표

범위를 지정해서 진수 비교표를 확인하세요.

~

진수 변환 퀴즈

랜덤 문제를 풀며 연습해보세요.

0 / 0

진수 가이드

진수가 뭔지, 어떻게 세는지 처음부터 알려드립니다.

진수란?

우리가 평소 쓰는 숫자는 10진수입니다. 0~9까지 10개 숫자를 쓰고, 9 다음에 자릿수가 올라갑니다.

진수란 숫자를 세는 방식입니다. 몇 개의 기호를 쓰느냐에 따라 달라져요.

10진수 0 1 2 3 4 5 6 7 8 9 10개 기호 사용
2진수 0 1 2개 기호 사용
8진수 0 1 2 3 4 5 6 7 8개 기호 사용
16진수 0 1 2 3 4 5 6 7 8 9 A B C D E F 16개 기호 사용

2진수는 이렇게 셉니다

2진수는 0과 1만 씁니다. 1 다음에 쓸 숫자가 없으니까 자릿수가 올라가요.

10진수에서 9 다음에 10이 되는 것처럼, 2진수에서는 1 다음에 10이 됩니다.

10진수2진수설명
00시작
111 다음엔 쓸 숫자가 없다!
210자릿수가 올라감
311
4100또 올라감! 100 = 4
5101
6110
7111모든 자리가 1
81000또 올라감! 1000 = 8
91001
10101010진수 10 = 2진수 1010
패턴: 2진수에서 자릿수가 하나 늘 때마다 표현할 수 있는 수가 2배가 됩니다.
1자리 → 0~1 (2개) · 2자리 → 0~3 (4개) · 3자리 → 0~7 (8개) · 4자리 → 0~15 (16개)

자릿값 이해하기

10진수에서 각 자리는 1의 자리, 10의 자리, 100의 자리… 입니다.

2진수에서는 1의 자리, 2의 자리, 4의 자리, 8의 자리… 입니다.

10진수 365
3×100=300
+
6×10=60
+
5×1=5
2진수 1011 = 10진수 11
1×8=8
+
0×4=0
+
1×2=2
+
1×1=1

8진수와 16진수

8진수는 0~7까지 쓰고, 7 다음에 자릿수가 올라갑니다.

10진수8진수
0~70~7 (같음)
810
911
1517
1620
64100

16진수는 0~9 다음에 A, B, C, D, E, F를 씁니다. F(=15) 다음에 자릿수가 올라갑니다.

10진수16진수
0~90~9 (같음)
10A
11B
12~14C, D, E
15F
1610
255FF
256100

왜 다른 진수를 사용할까?

BIN

컴퓨터는 전기 신호(켜짐/꺼짐)로 동작합니다. 2진수의 0과 1이 바로 그 신호입니다. 컴퓨터가 실제로 쓰는 언어예요.

OCT

2진수 3자리를 8진수 1자리로 줄여 쓸 수 있어서, 파일 권한 표시 등에 사용됩니다. chmod 755 같은 게 8진수입니다.

HEX

2진수 4자리를 16진수 1자리로 표현합니다. 색상 코드(#FF5733), 메모리 주소 등에 널리 쓰입니다.

변환 꿀팁

2진수 → 10진수는 각 자리에 2의 거듭제곱을 곱해서 더하면 됩니다.

1101 → 1×8 + 1×4 + 0×2 + 1×1 = 13
오른쪽부터 1, 2, 4, 8, 16, 32 … 순서로 올라간다고 외우면 편합니다.

10진수 → 2진수는 2로 계속 나누고 나머지를 거꾸로 읽으면 됩니다.

13 ÷ 2 = 6 나머지 1
6 ÷ 2 = 3 나머지 0
3 ÷ 2 = 1 나머지 1
1 ÷ 2 = 0 나머지 1
거꾸로 읽으면 → 1101

암산 팁

계산 없이 머릿속으로 진수를 변환하는 요령들입니다.

먼저 이것만 외우세요

2의 거듭제곱을 외우면 거의 모든 변환이 머릿속에서 됩니다.

201
212
224
238
2416
2532
2664
27128
28256
1, 2, 4, 8, 16, 32, 64, 128, 256 — 그냥 두 배씩이라고 생각하면 됩니다.

2진수 → 10진수: "켜진 자리 더하기"

나눗셈 없이, 1이 있는 자리의 값만 더하면 끝입니다.

1101(2) = ?
18
14
02
11
8 + 4 + 1 = 13
1010 1100(2) = ?
1128
064
132
016
18
14
02
01
128 + 32 + 8 + 4 = 172
오른쪽부터 1, 2, 4, 8, 16… 순서만 기억하면 됩니다. 0인 자리는 무시.

10진수 → 2진수: "큰 거부터 빼기"

나눗셈 대신, 들어가는 가장 큰 2의 거듭제곱부터 빼면 됩니다.

45 = ?(2)
4532 들어감?O→ 45 - 32 = 13
1316 들어감?X
138 들어감?O→ 13 - 8 = 5
54 들어감?O→ 5 - 4 = 1
12 들어감?X
11 들어감?O→ 1 - 1 = 0
O X O O X O → 101101
들어가면 1, 안 들어가면 0. 나눗셈 없이 뺄셈만으로 끝!

16진수 ↔ 2진수: "4비트 끊기"

16진수 한 자리 = 2진수 4자리. 이 대응만 알면 계산 없이 바로 변환됩니다.

00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
A1010
B1011
C1100
D1101
E1110
F1111
0x3F = ?(2)
3 → 0011   F → 1111   →   0011 1111
1010 0110(2) = ?(16)
1010 → A   0110 → 6   →   0xA6
8진수도 같은 원리! 8진수 한 자리 = 2진수 3자리로 끊으면 됩니다.

8421 법: 4비트 순식간에 읽기

4비트를 볼 때 왼쪽부터 8, 4, 2, 1을 대응시키면 바로 읽힙니다.

1101 → ?
18
14
02
11
8 + 4 + 1 = 13 = D(16)
그래서 1101 0101은? → D(13) 5(5) → 0xD5. 계산기 없이 1초면 됩니다.

자주 나오는 패턴

이것만 외우면 많은 문제가 바로 풀립니다.

1111=15= F4비트 최대
1111 1111=255= FF1바이트 최대
1000 0000=128= 80MSB만 켜짐
1010=10= AA의 시작
1100 0000=192= C0네트워크에서 자주
0001 0000=16= 1016진수 두 자리 시작
1이 연속이면 2n - 1 입니다. 예: 111 = 7 (2³-1), 11111111 = 255 (2⁸-1)

꿀팁: 256 - x 암산법

"FF에서 빼고 1 더하기"로 보수를 바로 구할 수 있습니다.

256 - 173 = ?
173 = AD(16)
FF - AD = 52 → +1 = 53(16) = 83
2진수에서는 더 쉬움: 0과 1을 뒤집고 1 더하면 끝 (2의 보수)