진법 변환기: 풀이 과정까지 보여 주는 진수 변환
진법 변환기에 수를 입력하고, 몇 진수의 수인지와 몇 진수로 바꿀지 고르세요. 아주 큰 수도 정확히 바꾸고 순환소수도 찾아냅니다. 나눗셈 반복, 자릿값 더하기, 소수의 곱셈까지 풀이 과정을 모두 보여 주므로 진법 변환 방법을 익히는 데도 좋습니다.
출처: 위키백과: 기수법 (자릿값과 진법). 업데이트: .
계산 방법
진법의 원리: 자릿값
b진법에서 각 자리의 값은 숫자 × b자리입니다. 10진수 255는 2 × 10² + 5 × 10¹ + 5 × 10⁰이라는 뜻입니다. 2진수는 0과 1만, 8진수는 0~7, 16진수는 0~9와 A~F(A = 10 … F = 15)를 씁니다. 10보다 큰 밑에서는 알파벳을 빌려 쓰며 36진수는 Z = 35까지 갑니다. 정보 수업이나 프로그래밍 공부에서 진법을 처음 배울 때 아래 표를 외워 두면 편합니다.
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 100 | 110 0100 | 144 | 64 |
| 255 | 1111 1111 | 377 | FF |
n진수를 10진수로: 자릿값 더하기
각 자리에 밑의 거듭제곱을 곱해 모두 더합니다: FF₁₆ = 15 × 16¹ + 15 × 16⁰ = 240 + 15 = 255. 소수점 아래 자리는 음의 거듭제곱이 되어 0.1₂ = 1 × 2⁻¹ = 0.5입니다.
10진수를 n진수로: 나눗셈 반복
몫이 0이 될 때까지 바꿀 밑으로 계속 나누고 나머지를 적습니다. 나머지를 아래에서 위로 읽으면 답입니다. 13을 2진수로 바꾸는 방법은 다음과 같습니다.
- 13 ÷ 2 = 6 … 나머지 1
- 6 ÷ 2 = 3 … 나머지 0
- 3 ÷ 2 = 1 … 나머지 1
- 1 ÷ 2 = 0 … 나머지 1
아래에서 위로 읽으면 13 = 1101₂입니다. 같은 방법으로 200을 16진수로 바꾸면 200 ÷ 16 = 12 … 8, 12 ÷ 16 = 0 … 12(C)이므로 200 = C8₁₆입니다.
2진수와 16진수 변환: 네 자리씩 묶기
16 = 2⁴이므로 2진수를 오른쪽부터 네 자리씩 끊어 각각을 16진수 한 자리로 바꾸면 됩니다. 1100 1000₂ = C8₁₆, 1111 1111₂ = FF₁₆입니다. 8진수는 8 = 2³이므로 세 자리씩 끊습니다. 색상 코드 #FF8800처럼 16진수가 두 자리씩 쓰이는 것도 두 자리가 정확히 8비트(1바이트)이기 때문입니다.
소수 변환: 곱셈과 순환소수
소수 부분에 밑을 곱해 정수 부분을 다음 자리로 쓰고, 남은 소수 부분으로 같은 계산을 이어 갑니다. 0.1을 2진수로 바꾸면 0.1 × 2 = 0.2 → 0, 0.4 → 0, 0.8 → 0, 1.6 → 1, 1.2 → 1, 그리고 다시 0.4가 나옵니다. 결과는 0.1 = 0.0(0011)₂라는 순환소수이며, 컴퓨터가 0.1을 정확히 저장하지 못하는 이유입니다.
유한소수가 되는지는 기약분수의 분모만 보면 압니다. 분모의 모든 소인수가 밑을 나누면 유한한 자리에서 끝납니다. 1/2은 2진수에서 나누어떨어지지만(0.1₂), 1/10은 소인수 5가 2를 나누지 못해 끝나지 않습니다. 이 계산기는 부동소수점이 아니라 정수(BigInt)로 계산하므로 순환마디를 정확히 찾습니다.
음수와 2의 보수
종이에서는 음수 앞에 마이너스 기호만 붙이면 됩니다: −255 = −FF₁₆. 컴퓨터 안에서는 2의 보수로 나타냅니다. 절댓값을 2진수로 쓰고, 모든 비트를 뒤집고, 1을 더합니다. 8비트에서 −1은 0000 0001 → 1111 1110 → 1111 1111입니다. n비트로 나타낼 수 있는 범위는 −2ⁿ⁻¹ ~ 2ⁿ⁻¹ − 1이어서 8비트는 −128 ~ 127이고, 128은 오버플로가 됩니다.
자주 묻는 질문
10진수를 2진수로 바꾸는 방법은?
몫이 0이 될 때까지 2로 계속 나누고 나머지를 적은 뒤, 나머지를 아래에서 위로 읽습니다: 13 → 6 … 1, 3 … 0, 1 … 1, 0 … 1 → 1101.
2진수를 10진수로 바꾸려면?
각 자리에 2의 거듭제곱(맨 오른쪽이 2⁰)을 곱해 더합니다: 1101₂ = 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1 = 13.
2진수와 16진수는 어떻게 바꾸나요?
16 = 2⁴이므로 2진수를 오른쪽부터 네 자리씩 끊어 각각 16진수 한 자리로 바꿉니다: 1111 1111 = F F = FF. 거꾸로 16진수 한 자리를 2진수 네 자리로 풀면 2진수가 됩니다. 8진수는 세 자리씩 끊습니다.
16진수를 10진수로 바꾸려면?
각 자리에 16의 거듭제곱(맨 오른쪽이 16⁰)을 곱해 더합니다. A~F는 10~15입니다: 2F₁₆ = 2 × 16 + 15 = 47.
소수는 어떻게 진법 변환하나요?
소수 부분에 밑을 곱해 정수 부분을 한 자리씩 꺼냅니다. 0.1은 2진수로 0.000110011…₂처럼 끝없이 이어지는 순환소수가 되며, 여러 프로그래밍 언어에서 0.1 + 0.2가 정확히 0.3이 되지 않는 이유입니다.
2의 보수란 무엇인가요?
컴퓨터가 음의 정수를 나타내는 표준 방법입니다. 절댓값을 2진수로 쓰고 모든 비트를 뒤집은 뒤 1을 더합니다. 8비트의 −1은 1111 1111(FF)이고, 8비트로 나타낼 수 있는 범위는 −128 ~ 127입니다.
출처 및 근거
업데이트: · 편집 원칙
관련 도구
- 거듭제곱 계산기: 지수법칙과 풀이 과정무료 거듭제곱 계산기. 제곱, 세제곱, 음수 지수와 분수 지수, n제곱근, 로그까지 풀이 과정과 함께 계산합니다. 큰 수는 모든 자릿수와 과학적 표기법으로 보여 줍니다.
- 로마 숫자 변환기: 아라비아 숫자와 서로 바꾸기로마 숫자와 아라비아 숫자(1~3999)를 서로 바꾸는 무료 변환기. 풀이 과정과 빼기 규칙을 보여 주고 IIII, IC처럼 잘못된 표기는 바른 표기로 고쳐 줍니다.
- 분수 계산기: 분수의 사칙연산과 풀이 과정무료 분수 계산기. 분수와 대분수의 덧셈·뺄셈·곱셈·나눗셈을 통분과 약분 풀이 과정과 함께 계산합니다. 기약분수, 소수, 퍼센트로도 바로 보여 줍니다.
- 날짜 계산기: 일수 세기와 날짜 더하기·빼기무료 날짜 계산기. 두 날짜 사이가 며칠인지, 며칠 후·며칠 전이 언제인지, 주말과 공휴일을 뺀 영업일을 계산합니다. 공휴일·대체공휴일을 반영하고 과정도 보여 줍니다.
- 삼각형 계산기: 넓이, 각도, 변의 길이무료 삼각형 계산기. 세 값(세 변, 두 변과 끼인각, 한 변과 두 각)만 알면 나머지 변과 각도, 삼각형 넓이, 둘레, 높이, 내접원·외접원 반지름을 풀이와 함께 구합니다.
- 펌프 동력 계산: 수동력, 축동력, 모터 입력펌프 동력 계산기. 유량, 전양정, 액체 밀도, 펌프 효율을 넣으면 수동력과 축동력을 kW로 계산합니다. 공식 P = ρgQH/η와 계산 예시를 함께 보여 줍니다.
- 데이터 단위 변환: KB MB GB 용량 계산무료 데이터 단위 변환 계산기. KB, MB, GB, TB, 비트와 바이트, MiB·GiB를 서로 바꾸고 인터넷 속도(Mbps)에 따른 다운로드 시간까지 계산합니다. 환산표 포함.
- 소수 판별기: 소수인지 확인하고 소수 찾기소수 판별기. 어떤 수가 소수인지 판별하고, 범위 안의 소수를 1,000만까지 찾아 목록으로 보여 줍니다. n번째 소수, 쌍둥이 소수, 판별 과정도 함께 나옵니다.
- 만 나이 계산기: 생년월일만 넣으면 바로무료 만 나이 계산기. 생년월일을 넣으면 오늘 기준 만 나이를 몇 세 몇 개월 며칠까지 계산하고, 살아온 날수, 다음 생일, 세는 나이·연 나이와의 차이도 알려 줍니다.