이 2진수 계산기로 할 수 있는 일
이 2진수 계산기는 두 개의 2진수(0과 1 두 숫자만 사용해 표기하는 2진법 수)로 사칙연산을 수행하는 도구입니다. 2진수 값 두 개를 입력하고 덧셈·뺄셈·곱셈·나눗셈 중 하나를 선택하면, 2진수로 된 결과는 물론 이에 해당하는 10진수 값까지 보여 주며, 계산 과정도 알기 쉽게 정리해 줍니다.
입력 항목 살펴보기
- 첫 번째 2진수 – 왼쪽 피연산자입니다. 예:
1010. - 연산 – 덧셈, 뺄셈, 곱셈, 나눗셈 중에서 선택합니다.
- 두 번째 2진수 – 오른쪽 피연산자입니다. 예:
11.
각 입력란에는 0과 1만 넣을 수 있습니다. 어느 한쪽이라도 그 외의 문자가 들어가면 계산 결과 대신 "잘못된 2진수 입력"이라는 안내가 표시됩니다.
계산은 이렇게 이루어집니다
내부적으로는 비트 단위로 직접 연산하지 않습니다. 대신 다음 세 단계를 차례대로 거칩니다.
- 10진수로 변환: 입력된 각 2진수 문자열을 2진법 정수로 해석합니다.
- 연산 적용: 두 10진수 값에 대해 덧셈·뺄셈·곱셈을 하거나 정수 나눗셈을 수행합니다. 나눗셈은 정수(몫만 취하는) 방식이라 나머지는 버려지며, 0으로 나누면 "0으로 나눌 수 없음"이 반환됩니다.
- 다시 2진수로 변환: 결과를 10진수에서 2진법 문자열로 바꿔 표시하고, 동시에 10진수 결과도 함께 보여 줍니다.
덧셈, 뺄셈, 곱셈, 나눗셈 연산은 각각 다음 식으로 나타낼 수 있습니다.
$$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 + \left( \text{Binary}_2 \right)_2$$ $$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 - \left( \text{Binary}_2 \right)_2$$ $$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 \times \left( \text{Binary}_2 \right)_2$$ $$\text{Result}_2 = \left\lfloor \frac{\left( \text{Binary}_1 \right)_2}{\left( \text{Binary}_2 \right)_2} \right\rfloor$$
실제 계산 예시
첫 번째 2진수 = 1010, 연산 = 곱셈, 두 번째 2진수 = 11이라고 가정해 봅시다.
1010을 10진수로 바꾸면 10입니다.11을 10진수로 바꾸면 3입니다.- \(10 \times 3 = 30\).
- 30을 다시 2진수로 변환하면
11110입니다.
따라서 계산기는 결과를 11110(2진수)과 30(10진수)으로 표시합니다.
이진–10진 변환 표
2진법에서는 모든 자릿수(비트)가 2의 거듭제곱을 나타냅니다. 이진수를 오른쪽에서 왼쪽으로 읽을 때, 자리값은 \(2^0=1,\ 2^1=2,\ 2^2=4,\ 2^3=8,\ 2^4=16,\ \dots\)입니다. 10진 동등값을 구하려면 1이 나타나는 자리값을 더하면 됩니다.
일반적인 값
| 이진수 | 10진수 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 10 | 2 |
| 11 | 3 |
| 100 | 4 |
| 101 | 5 |
| 110 | 6 |
| 111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | 10 |
| 1011 | 11 |
| 1100 | 12 |
| 1101 | 13 |
| 1110 | 14 |
| 1111 | 15 |
자리값(2의 거듭제곱)
| 이진수 | 거듭제곱 | 10진 가중치 |
|---|---|---|
| 1 | \(2^0\) | 1 |
| 10 | \(2^1\) | 2 |
| 100 | \(2^2\) | 4 |
| 1000 | \(2^3\) | 8 |
| 10000 | \(2^4\) | 16 |
| 100000 | \(2^5\) | 32 |
| 1000000 | \(2^6\) | 64 |
| 10000000 | \(2^7\) | 128 |
| 100000000 | \(2^8\) | 256 |
더 많은 계산 예제
덧셈: 1011 + 110
각 피연산자를 10진수로 변환한 후 더하고, 다시 이진수로 변환합니다.
- \(1011_2 = 8+2+1 = 11_{10}\)
- \(110_2 = 4+2 = 6_{10}\)
- 더하기: \(11 + 6 = 17_{10}\)
- 다시 변환: \(17_{10} = 16+1 = 10001_2\)
자리올림 덧셈으로 확인하면 \(1011 + 0110\)을 더할 때 자리올림이 더 높은 자리로 발생하여 10001(10진수 17)을 얻습니다.
음수가 되는 뺄셈: 10 − 111
두 번째 수가 더 클 때, 결과는 음수입니다.
- \(10_2 = 2_{10}\)
- \(111_2 = 7_{10}\)
- 빼기: \(2 - 7 = -5_{10}\)
- 크기를 다시 변환: \(5_{10} = 101_2\)이므로 답은 \(-101_2\)입니다
\(10 - 111\)의 결과는 이진수로 -101(10진수 \(-5\))입니다.
나머지를 버리는 정수 나눗셈: 111 ÷ 10
이진 정수 나눗셈은 몫만 유지하고 나머지는 버립니다.
- \(111_2 = 7_{10}\)
- \(10_2 = 2_{10}\)
- 나누기: \(7 \div 2 = 3\) 나머지 \(1\); 나머지 \(1\)은 버립니다
- 몫을 다시 변환: \(3_{10} = 11_2\)
따라서 \(111 \div 10 = \)11(이진수, 10진수 3, 나머지 1은 버림)입니다.
핵심 용어 설명
- 이진법(2진법)
- 0과 1의 두 자릿수만 사용하는 수 체계입니다. 각 자리는 2의 거듭제곱을 나타내며, 0~9의 자릿수를 사용하는 10진법과 대비됩니다.
- 비트
- 단일 이진 자릿수 — 0 또는 1입니다. 컴퓨팅에서 가장 작은 데이터 단위입니다.
- 최상위 비트(MSB)
- 이진수의 가장 왼쪽 비트이며, 가장 큰 자리값을 가지며 수의 크기에 가장 큰 영향을 미칩니다.
- 최하위 비트(LSB)
- 가장 오른쪽 비트로, 자리값이 \(2^0=1\)이며, 가장 작은 영향을 미치고 수가 홀수인지 짝수인지를 결정합니다.
- 자리올림
- 한 자리의 두 비트의 합이 2 이상일 때, 초과분이 다음 더 높은 자리로 이월됩니다. 이진법에서는 \(1+1=10\)이므로 자리는 0을 표시하고 1이 왼쪽으로 이월됩니다.
- 자리값
- 각 자릿수 위치에 할당된 가중치로, 2의 거듭제곱과 같습니다: \(1, 2, 4, 8, 16, \dots\) (오른쪽에서 왼쪽으로 읽음).
- 정수(절사) 나눗셈
- 정수 몫만 반환하고 나머지는 버리는 나눗셈입니다. 예를 들어 \(7 \div 2 = 3\)으로, 나머지 1은 버립니다.
- 10진 동등값
- 이진수의 10진 값으로, 1이 나타나는 자리값을 합산하여 구합니다 — 예: \(1011_2 = 8+2+1 = 11_{10}\).
자주 묻는 질문
나눗셈의 나머지는 어떻게 처리되나요? 나눗셈은 정수 기준이라 소수 부분은 버려집니다. 예를 들어 111(7) ÷ 10(2)의 결과는 3.5가 아니라 11(3)입니다.
음수 결과도 나올 수 있나요? 네, 가능합니다. 작은 수에서 큰 수를 빼면 10진수 값이 음수가 되며, 표시되는 2진수 표현에도 그대로 반영됩니다.
왜 "잘못된 2진수 입력"이라고 나오나요? 입력란은 0과 1만 받아들입니다. 공백, 소수점, 또는 2~9 같은 숫자가 들어가면 이 메시지가 뜨므로 입력 내용을 다시 한번 확인해 보세요.