목차:
2진수 변환기 사용법
2진수 변환기는 2개 파트로 나누어져 있습니다.
10진수 → 2진수
10진수 → 2진수 변환 파트는 10진수를 2진수로 변환하는 계산기입니다. 10진수 입력 칸에 10진수 수를 입력하면 2진수 변환 결과가 자동으로 표시됩니다.
소수, 예를 들어 10진수 0.25도 변환할 수 있고, 10.25 형태의 소수도 변환 가능합니다. 10.25 형태의 경우 정수 부분인 10을 2진수로 변환하고, 0.25를 2진수로 변환한 수 그 결과를 합치면 됩니다.
10.25의 경우 10은 2진수 1010에 해당하고, 0.25는 2진수 0.01에 해당하므로 10.2510 = 1010.012 입니다.
2진수 → 10진수
2진수를 10진수로 변환할 수 있는 계산기는 10진수 → 2진수 변환기 아래에 있습니다.
2진수 입력 칸에 2진수를 입력하면 10진수로 변환된 값은 자동으로 표시됩니다. 10진수를 변환하는 경우와 마찬가지로 소수도 변환할 수 있습니다.
10진수 → 2진수 변환법
10진수 정수를 2진수로 변환하는 법과 소수점 아래 숫자가 있는 소수를 2진수로 변환하는 법은 다릅니다. 정수 변환에 대해 먼저 설명한 후 소수를 변환하는 법에 대해 설명하겠습니다.
10진수 정수 2진수 변환 예
먼저 실제 수를 변환해 본 후 이를 통해 일반적으로 적용될 수 있는 법칙을 도출하도록 하겠습니다. 10진수 35를 2진수로 바꾸는 법을 예로 들게요.
- 1단계: 35를 2로 나눈 후 그 결과를 몫과 나머지로 분리합니다. 35를 2로 나눈 몫은 17이고 나머지는 1입니다.
- 2단계: 1단계에서 계산한 몫 17을 2로 나눈 후 몫 8과 나머지 1을 기록합니다.
- 3단계: 2단계에서 한 방법대로 2단계에서 구한 몫 8을 2로 나눈 후 그 답을 몫과 나머지로 분리합니다. 즉, 8 ÷ 2 → 몫은 4 나머지는 0,
- 4단계: 3단계의 몫은 4이므로 4 ÷ 2 → 몫은 2, 나머지는 0,
- 5단계: 4단계의 몫은 2이므로 2 ÷ 2 → 몫은 1, 나머지는 0,
- 6단계: 5단계의 몫은 1이므로 1 ÷ 2 → 몫은 0, 나머지는 1.
- 마지막으로 앞에서 구한 나머지를 아래에서 위로 읽으면 2진수 변환이 완료 됩니다.
즉, 6단계에서 구한 나머지부터 시작해서 1단계에서 구한 나머지 순으로 왼쪽에서 오른쪽으로 쓴 100011이 십진수 35를 2진수로 변환한 수가 됩니다.
위 계산과정을 아래에 이미지로 정리했으니 참고하세요.
10진수 35를 2진수로 변환하는 예에서 6단계까지 가지 않고 5단계에서 끝을 낸 후 5단계의 몫에서 시작하여 나머지를 아래에서 위로 읽어 2진수로 변환하는 방법도 있습니다. 5단계까지 계산하는 것으로 끝내고 →↑ 식으로 읽을 것인지, 아니면 6단계 까지 가서 ↑ 순으로 읽을 것인지는 편한대로 선택하면 됩니다.
단, 10진수를 2진수로 변환할 할 때 모든 10진수 수가 5단계 또는 6단계까지 가는 것은 아닙니다. 몇 단계까지 가는 것이 중요한 것이 아니라 몫이 0이 될 때 (또는 →↑ 순으로 읽는 다면 몫이 1이 될 때) 변환 과정이 끝납니다.
35는 십진수이고 100011은 2진수인데요, 각 진법의 밑수(10진법은 10, 2진법은 2)를 아래 첨자로 붙여 아래와 같이 표현할 수 있습니다.
3510 = 1000112
10진수 정수 2진수 변환법
앞에서 십진수 35를 2진수 변환한 예를 통해 일반적으로 적용되는 방법을 정리하면 다음과 같습니다.
- 1단계: 변환하려는 10진수를 2로 나눈 후 몫과 나머지 기록,
- 2단계: 1단계에서 구한 몫을 2로 나눈 후 몫과 나머지 기록,
- 앞 단계에서 계산한 몫을 2로 나눈 몫이 0이 될 때까지 계속,
- 마지막 단계: 이전 단계에서 기록한 나머지를 아래에서 위 방향으로 읽으면서 왼쪽에서 오른쪽으로 쓰면 2진수 변환 완료.
10진수 소수 2진수 변환 예
여기서 소수는 소숫점 아래 숫자가 있는 수, 예를 들어, 0.90625와 같은 수의 의미로 썼습니다. 0.90625와 같은 소수를 2진수로 변환하는 법은 정수를 변환하는 방법과 조금 다릅니다.
원리는 같은데, 다만, 정수를 변환하는 방법과 반대로 한다는 느낌으로 이해하면 됩니다. 예컨대 정수를 2진수로 변환할 때는 2로 나누었는데, 여기서는 2를 곱합니다. 또 정수 변환에서는 나머지를 아래에서 위로 읽었지만, 여기서는 뭔가를 위에서 아래로 읽습니다.
이게 무슨 말인지는 실제 변환 예를 보면 확실하게 이해될 것입니다. 십진수 0.90625를 2진수로 변환해 보겠습니다.
- 1단계: 0.90625에 2를 곱한 후 답을 정수와 소수 부분으로 분리하여 정리합니다. 즉, 0.90625 × 2 = 1.8125 → 정수 부분은 1 소수 부분은 0.8125,
- 2단계: 1단계에서 계산한 소수 부분에 2를 곱한 후 이를 정수 부분과 소수 부분을 분리하여 기록합니다. 즉, 0.8125 × 2 → 정수 부분은 1, 소수 부분은 0.625,
- 3단계: 앞에서 한 방법을 반복합니다. 0.625 × 2 → 정수 부분은 1, 소수 부분은 0.25,
- 4단계: 0.25 × 2 → 정수 부분은 0, 소수 부분은 0.5,
- 5단계: 0.5 × 2 → 정수 부분은 1, 소수 부분은 0, 소수 부분이 0이 되면 변환 과정을 멈춥니다.
- 이제 각 단계에서 계산한 정수 부분은 위에서 아래로 읽어 왼쪽에서 오른쪽 순으로 쓰면 11101이 됩니다.
- 마지막으로 변환한 수치 앞에 소숫점을 찍어, 0.11101로 만들면 10진수 0.90625의 2진수변환이 완료됩니다. 0.9062510 = 0.111012
아래에 계산 과정을 이미지로 만들었으니 참고하시기 바랍니다.
10진수 정수를 2진수로 만드는 계산은 몫이 0이 될 때까지 계산 과정을 반복했는데요, 10진수 소수를 변환하는 경우는 언제까지 과정을 반복할까요? 일단 가능한 답은 ‘소수 부분이 0이 될 때까지’ 입니다.
그런데, 정수를 변환할 때는 몫이 0이 되는 순간이 반드시 오지만, 소수를 2진수로 바꾸는 계산에는 소수 부분이 0이 되지 않는 경우도 있습니다. 이 경우 계산이 끝나지 않고 무한 반복됩니다. 이는 마치 10진수에 무한 소수 또는 순환 소수가 있는 것과 같은 이치 때문입니다.
10진수 소수 2진수 변환법
0.90625를 2진수로 변환한 과정을 떠 올리면 다음과 같이 일반적으로 적용되는 방법을 정리할 수 있습니다.
- 1단계: 변환할 수에 2를 곱한 후 그 답을 정수 부분과 소수 부분으로 분리하여 기록,
- 2단계: 1단계에서 계산한 소수 부분에 2를 곱한 후 그 답을 정수 부분과 소수 부분으로 분리하여 기록,
- 전 단계에서 계산한 소수 부분에 2를 곱한 후 정수 부부과 소수 부분으로 분리하여 기록하는 과정을 소수 부분이 0이 될 때까지 계속,
- 각 단계에서 기록한 정수 부분은 위에서 아래로 읽은 후 왼쪽에서 오른쪽 방향으로 쓴다. 이제 왼쪽 끝에 소숫점을 찍으면 10진수 소수 2진수 소수로 변환 완료.
단, 소수 부분이 0이 되지 않고 계산 과정이 무한 반복될 수 있는데, 이는 변환한 2진수가 무한 소수(또는 순환 소수)임을 의미합니다.
2진수 → 10진수 변환법
2진수를 10진수로 변환하는 방법은 10진수를 2진수로 변환하는 것과 비슷한 과정을 거치는 방법도 있고, 공식을 이용하는 방법도 있습니다. 여기서는 공식을 이용하는 방법을 설명하겠습니다.
2진수를 10진수로 변환하는 공식도 2진수 정수를 10진수로 변환하는 것과 2진수 소수를 10진수로 변환하는 것이 있습니다. 먼저 2진수 정수를 10진수로 변환하는 공식에 대해 설명하겠습니다.
2진수 정수 10진수 변환 공식
x0×b0 + x1×b1 + … + xn-1×bn-1
- xi는 2진수 정수의 오른쪽 끝에서 부터 시작되는 자릿 수: x0은 오른쪽 끝 자릿 수, x1은 오른쪽 끝에서 두 번째 자릿 수, x2는 오른쪽 끝에서 세 번째 자릿 수, xn-1은 오른쪽 끝에서 n번째 자릿 수.
- b는 각 진법의 밑수(base): 2진법의 경우 b는 2.
위 공식은 2진수 정수를 10진수로 바꾸는 데에만 쓸 수 있는 것이 아니라, 모든 진법의 수(10진법 수 포함)를 10진수로 변환 하는데 쓸 수 있습니다. 예컨대 16진수를 10진수로 계산하는데도 쓸 수 있습니다. 16진수의 경우 b는 16이 된다는 차이만 있을 뿐입니다.
앞에서 10진수 35를 2진수로 100011 바꾸는 계산을 해 보았는데요, 여기서는 위 공식을 이용하여 100011을 10진수로 변환하면 과연 35가 되는지 확인해 보겠습니다.
100011에서 오른쪽 끝자리 x0=1, x1=1, x2=0, x3=0, x4=0, x5=1입니다.
b는 100011이 2진법 수이므로 2입니다. 이제 공식을 적용하면 10진수로 변환할 수 있습니다.
1000112 = 1×20 + 1×21 + 0×22 + 0×23 + 0×4 + 1×25 = 1 + 2 + 32 = 3510
2진수 소수 10진수 변환 공식
x1×b-1 + x2×b-2 + … + xn×b-n
2진수 소수를 10진수로 변환하는 공식은 2진수 정수를 변환하는 공식과 비슷하지만 두 가지 차이가 있습니다.
- 자릿 수를 의미하는 아래 첨자가 0이 아니라 1에서부터 시작한다.
- 첫 번째 자릿 수 즉, x1은 소숫점 아래 오른쪽 끝이 아니라 왼쪽 끝, 즉 소수점 아래 첫 번째 자릿 수이다.
이제 공식을 이용하여 2진수 0.11101을 10진수로 바꾸어 보겠습니다.
0.111012 = 1×2-1 + 1×2-2 + 1×2-3 + 0×2-4 + 1×2-5 = 1/2 + 1/4 + 1/8 + 1/32 = 0.9062510
2진수 소수를 10진수로 변환하는 공식도 2진수 뿐 아니라 다른 진법의 수를 10진수로 변환하는데 쓸 수 있습니다. 진법에 따라 b가 바뀐다는 차이만 있을 뿐입니다. 예를 들어 16진수 소수를 10진수로 변환하려면 위 공식에서 b에 16을 대입하면 됩니다.
다른 수학 관련 계산기도 참고해 보세요. 수학 계산기 카테고리로 이동