이진수 뺄셈 계산기
표준 빌림 또는 2의 보수로 이진수 뺄셈을 수행하고 단계별 풀이와 십진수 값을 보여줍니다.
피감수와 감수를 이진수로 입력하고 계산 방법을 선택하면 결과를 즉시 확인할 수 있습니다.
이진수 뺄셈 계산기
표준 빌림 또는 2의 보수로 이진수 뺄셈을 수행하고 단계별 풀이와 십진수 값을 보여줍니다.
오른쪽에서 왼쪽으로 열마다 빼며, 필요할 때 상위 비트에서 빌리는 고전적인 필산 방식입니다.
이진수 뺄셈 소개
이진수 뺄셈은 네 가지 기본 이진 산술 연산 중 하나이며, 주로 표준 빌림 방식과 2의 보수 방식 두 가지로 수행됩니다. 두 방법을 이해하는 것은 컴퓨터 과학 학생, 디지털 전자 회로 설계자, 비트 수준에서 작업하는 사람에게 모두 유용합니다.
표준 빌림 방식은 십진수 세로셈 뺄셈과 비슷합니다. 두 이진수를 가장 오른쪽 비트에 맞춰 정렬하고 오른쪽에서 왼쪽으로 열마다 뺍니다. 위쪽 숫자가 아래쪽 숫자보다 작을 때, 즉 0에서 1을 빼야 할 때는 다음 상위 열에서 빌려 옵니다. 그러면 그 열은 일시적으로 한 자리 낮아지고 현재 위치에는 2가 더해집니다. 이는 십진수에서 10을 빌리는 것과 같은 이진수의 개념입니다. 이 과정은 모든 열을 처리할 때까지 계속됩니다. 이 방법은 직관적이며 손으로 검산하기 쉽습니다.
2의 보수 방식은 사실상 모든 현대 프로세서와 마이크로컨트롤러가 하드웨어에서 뺄셈을 구현하는 방식입니다. A에서 B를 빼려면 먼저 B의 2의 보수를 계산합니다. B의 모든 비트를 뒤집어 1의 보수를 만든 다음 1을 더합니다. 그런 다음 표준 이진 덧셈으로 A와 B의 2의 보수를 더합니다. 최상위 비트에서 발생한 올림은 버립니다. 결과는 2의 보수 표현에서의 A − B입니다. 이 방식은 별도의 뺄셈 회로가 필요 없고 하나의 가산기로 덧셈과 뺄셈을 모두 처리할 수 있으므로 하드웨어에서 선호됩니다.
2의 보수는 컴퓨터 하드웨어에서 부호 있는 정수를 표현하는 보편적인 표준이기도 합니다. n비트 2의 보수 시스템에서 양수는 일반적인 방식으로 표현되고, 음수는 그 수의 2의 보수로 표현됩니다. n비트 부호 있는 2의 보수 정수의 범위는 −2^(n−1)부터 2^(n−1) − 1까지입니다. 8비트 정수의 경우 −128부터 127까지입니다. 이 표현은 오버플로 감지를 단순하게 만듭니다. 부호 비트로 들어가는 올림과 부호 비트에서 나오는 올림이 다르면 오버플로가 발생합니다.
피감수가 감수보다 크거나 같은 경우 두 방법은 같은 결과를 냅니다. 피감수가 더 작을 때 표준 빌림 방식은 음수 선행 빌림이 필요하지만, 2의 보수 방식은 주어진 비트 폭 안에서 올바른 부호 있는 결과를 자연스럽게 생성합니다. 이 계산기는 두 상황을 모두 처리하며, 표준 빌림 모드에서 결과가 음수가 되는 경우 이를 표시합니다.
이진수 뺄셈 예제
표준 빌림과 2의 보수 방법을 모두 보여 주는 연습 예제입니다.
| 연산 | 이진수 결과 | 십진수 확인 |
|---|---|---|
| 1101 − 101(표준 빌림) | 1000 | 13 − 5 = 8 ✓. 상위 비트에서는 빌림이 필요 없고, 일의 자리 열에서 빌림이 발생합니다. |
| 10010 − 1011(표준 빌림) | 111 | 18 − 11 = 7 ✓. 네 개 열에 걸쳐 여러 번 빌림이 필요합니다. |
| 1100 − 111(2의 보수) | 101 | 12 − 7 = 5 ✓. 0111의 2의 보수는 1001입니다. 1100 + 1001 = 10101; 올림 버림 → 0101. |
| 11110000 − 10101011(표준 빌림) | 1000101 | 240 − 171 = 69 ✓. 여덟 개 이진 숫자에 걸친 복잡한 다중 빌림 뺄셈입니다. |
이진수 뺄셈 계산기 사용 방법
- 첫 번째 필드에 피감수(빼임을 당하는 수)를 이진 숫자 0과 1만 사용해 입력합니다.
- 두 번째 필드에 감수(빼는 수)를 입력합니다.
- 계산 방법을 선택합니다. 고전적인 열별 방식은 '표준 빌림', 프로세서 방식은 '2의 보수'를 선택하세요.
- '단계별 과정 보기'를 전환하여 중간 단계, 빌림 또는 2의 보수 변환을 확인합니다.
- '뺄셈 계산'을 클릭하여 이진수 차와 십진수 값을 확인합니다.
이진수 뺄셈 FAQ
이진수 뺄셈에서 빌림이란 무엇인가요?
이진수 뺄셈에서 빌림은 현재 비트 위치만으로 뺄셈을 수행할 수 없을 때, 즉 0에서 1을 빼야 할 때 상위 비트에서 단위를 가져오는 과정입니다. 다음 상위 열에서 1을 빌리면 현재 열에 2(이진수 10)가 더해져 0 − 1이 10 − 1 = 1이 됩니다. 이는 십진수 뺄셈에서 10을 빌리는 것과 정확히 대응됩니다.
2의 보수란 무엇이며 왜 사용하나요?
2의 보수는 부호 있는 정수를 이진수로 표현하는 방법이자 뺄셈 기법입니다. 어떤 수의 2의 보수를 계산하려면 모든 비트를 뒤집어 1의 보수를 만든 뒤 1을 더합니다. 프로세서는 같은 가산기 하드웨어로 덧셈과 뺄셈을 모두 처리할 수 있기 때문에 2의 보수를 사용합니다. A에서 B를 빼는 것은 A에 B의 2의 보수를 더하는 것과 같습니다. 또한 0의 표현이 하나뿐이라 오래된 부호-크기 방식과 1의 보수 형식의 모호함을 피할 수 있습니다.
결과가 음수이면 어떻게 되나요?
피감수가 감수보다 작으면 실제 결과는 음수입니다. 표준 빌림 모드에서는 결과를 양의 이진 문자열로 표현할 수 없으므로 계산기가 이 상황을 표시합니다. 2의 보수 모드에서는 결과가 음의 2의 보수 숫자로 올바르게 표현되며, 계산기는 부호 있는 십진수 값을 표시합니다.
CPU 내부에서는 이진수 뺄셈을 어떻게 사용하나요?
CPU는 산술 논리 장치(ALU)에서 2의 보수 방법으로 뺄셈을 구현합니다. ALU에는 가산기가 있으며, 하나의 제어 신호가 감수의 비트를 반전하고 캐리 입력을 1로 설정해 실질적으로 2의 보수를 더합니다. 따라서 별도의 뺄셈 회로가 필요 없어 트랜지스터를 절약하고 설계를 단순화할 수 있습니다. 최상위 비트의 캐리 출력은 오버플로 감지에 사용됩니다.
방법을 바꾸면 결과가 달라지나요?
피감수가 감수보다 크거나 같은 경우 두 방법은 항상 같은 최종 수치 결과를 만들며, 중간 단계만 다릅니다. 표준 빌림 방식은 원래 숫자에 직접 작동하고, 2의 보수 방식은 먼저 감수를 음수화한 다음 더합니다. 둘 다 같은 올바른 차를 구합니다.
더 작은 이진수에서 더 큰 이진수를 뺄 수 있나요?
예, 하지만 결과는 음수입니다. 표준 빌림 모드에서는 양의 이진 문자열이 음수 결과를 표현할 수 없으므로 이 계산기가 경고를 표시합니다. 음의 차이를 처리하려면 2의 보수 모드로 전환하세요. 결과는 음수 값의 2의 보수 인코딩으로 표시되고, 부호 있는 십진수 값은 마이너스 기호와 함께 표시됩니다.