진수 변환기
2진수, 8진수, 10진수, 16진수 변환
진수 계산기
아무 칸에나 숫자를 입력하면 나머지 진법으로 바로 변환됩니다. 2진수, 8진수, 10진수, 16진수를 서로 변환할 수 있고, 자릿수 제한이 없으며 음수도 지원합니다. 아래 진수 계산기에서는 2진수나 16진수 그대로 덧셈, 뺄셈, 곱셈, 나눗셈과 비트 연산을 할 수 있어 프로그래밍, 컴퓨터 수업, 과제 검산에 유용합니다.
진수 변환기 사용 방법
- 변환할 진법의 칸에 숫자를 입력합니다. 예를 들어 「16진수」 칸에
FF를 입력하면 다른 칸에 바로11111111,377,255가 표시됩니다. - 코드에 있는 값을 그대로 붙여 넣어도 됩니다.
0x,0b,0o접두사, 공백, 밑줄(예:1111_0000)은 무시됩니다. - 해당 진법에서 쓸 수 없는 문자(2진수에 2 등)를 입력하면 잘못된 결과 대신 칸 아래에 안내가 표시됩니다.
- 「2진수를 4자리씩 끊어 표시」을 선택하면 2진수가
1111 1111처럼 표시되어 16진수와 비교하기 쉽습니다. - 각 칸 옆의 복사 아이콘으로 결과를 복사하고, 「지우기」로 다시 입력할 수 있습니다.
진수 계산기
진법을 고르고 두 수와 연산을 입력하면 결과가 네 가지 진법으로 동시에 표시됩니다.
- + − × ÷: 사칙연산. ÷는 정수 몫과 나머지를 구합니다. 예: 2진수
1101 ÷ 11=100, 나머지1. - mod: 나머지만 구합니다.
- AND, OR, XOR: 비트 단위 논리 연산으로, 마스크나 플래그 처리에 자주 쓰입니다.
- <<, >>: 왼쪽·오른쪽 시프트. 왼쪽으로 1비트 이동하면 2배, 오른쪽으로 1비트 이동하면 2로 나눈 값(소수점 버림)이 됩니다.
2진수, 8진수, 10진수, 16진수란?
진법의 밑(기수)은 다음 자리로 올라가기 전까지 사용하는 숫자의 개수입니다.
| 진법 | 밑 | 사용하는 숫자 | 주요 용도 |
|---|---|---|---|
| 2진수 | 2 | 0, 1 | 컴퓨터 내부, 논리 회로 |
| 8진수 | 8 | 0–7 | Linux 파일 권한(예: chmod 755) |
| 10진수 | 10 | 0–9 | 일상생활 |
| 16진수 | 16 | 0–9, A–F | 메모리 주소, 웹 색상 코드, MAC 주소 |
16진수의 AF는 1015를 나타냅니다. 16진수 한 자리는 정확히 2진수 4자리(4비트)이고 두 자리가 1바이트이므로, 프로그래밍과 웹 색상 코드(예: #FF8800)에서 많이 쓰입니다.
손으로 진수 변환하는 방법
10진수를 2진수로: 2로 나누고 나머지 적기
10진수를 계속 2로 나누면서 나머지를 적은 뒤, 나머지를 아래에서 위로 읽습니다. 13의 경우:
- 13 ÷ 2 = 6, 나머지 1
- 6 ÷ 2 = 3, 나머지 0
- 3 ÷ 2 = 1, 나머지 1
- 1 ÷ 2 = 0, 나머지 1
아래에서 위로 읽으면 1101입니다. 8진수와 16진수도 같은 방법으로 8이나 16으로 나눕니다. 예를 들어 255 ÷ 16 = 15, 나머지 15이고 15는 F이므로 255 = FF입니다.
2진수를 10진수로: 자릿값 더하기
오른쪽부터 각 자리의 값은 1, 2, 4, 8, 16…(2의 거듭제곱)입니다. 1인 자리의 값을 더합니다.
1101 = 1×8 + 1×4 + 0×2 + 1×1 = 13
16진수도 같은 방법이며 자릿값이 1, 16, 256…입니다. 2F = 2×16 + 15×1 = 47.
2진수와 16진수: 4자리씩 묶기
2진수를 오른쪽부터 4자리씩 묶고, 아래 변환표를 보고 각 묶음을 16진수 한 자리로 바꿉니다.
10101111 → 1010 1111 → A F → AF
반대로 16진수의 각 자리를 2진수 4자리로 바꾸면 됩니다. 2진수를 8진수로 바꿀 때는 3자리씩 묶습니다: 111101 → 111 101 → 75.
진수 변환표
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
자주 묻는 질문
2진수를 10진수로 어떻게 바꾸나요?
오른쪽 부터 각 자리의 값은 1, 2, 4, 8, 16…입니다. 1인 자리의 값을 모두 더하면 10진수가 됩니다. 예: 1101 = 8 + 4 + 1 = 13.
10진수를 2진수로 어떻게 바꾸나요?
몫이 0이 될 때까지 2로 나누면서 나머지를 적고, 나머지를 아래에서 위로 읽습니다. 13이면 나머지가 1, 0, 1, 1이므로 답은 1101입니다.
16진수의 A~F는 무엇을 뜻하나요?
16진수에는 16개의 기호가 필요해서 09 다음에 AF로 10~15를 나타냅니다: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. 대문자와 소문자는 같은 뜻이며, 이 도구는 항상 대문자로 표시합니다.
음수나 소수도 입력할 수 있나요?
음수는 입력할 수 있고 결과에 마이너스 부호가 붙습니다(예: -255는 16진수로 -FF). 컴퓨터 내부에서 쓰는 2의 보수 표현은 아닙니다. 소수는 지원하지 않고 정수만 입력할 수 있습니다.