Skip to main content
컴퓨터 과학계산기가이드

이진수 뺄셈 계산기: 빌림, 2의 보수와 예제 풀이

·9 min read·Solvify Team

이진수 뺄셈 계산기는 2진법으로 쓰인 두 수의 차를 구해 주지만, 손으로 똑같은 답에 도달하려면 서로 다른 두 가지 방법을 이해해야 합니다. 하나는 종이에 십진수를 뺄 때와 같은 방식인 직접 빌림이고, 다른 하나는 컴퓨터 하드웨어가 실제로 사용하는 2의 보수 뺄셈입니다. 이 가이드에서는 0이 여러 개 이어진 자리를 지나는 연쇄 빌림까지 포함해 두 방법을 예제로 끝까지 풀어 보고, 모든 답을 십진수로 검산하며, 이진수 뺄셈 계산을 가장 자주 망치는 실수들을 정리합니다.

이진수 뺄셈이란 무엇이고, 이진수 뺄셈 계산기는 실제로 무엇을 계산할까?

이진수 뺄셈은 0과 1 두 개의 숫자만 사용해 2진법으로 쓰인 두 수의 차를 구하는 연산입니다. 이진수 뺄셈 계산기는 여러분이 십진수 산술에서 이미 알고 있는 빌림과 빼기 논리를 그대로 적용하되, 훨씬 적은 자릿수 규칙만 사용합니다. 0 − 0 = 0, 1 − 0 = 1, 1 − 1 = 0, 그리고 0 − 1 = 1이며 이때 왼쪽 다음 자리에서 1을 빌려 옵니다. 마지막 규칙이 바로 빌림을 이용한 이진수 뺄셈이 까다로워지는 지점입니다. 2진법에서 빌림은 십진수처럼 10이 아니라 2를 현재 자리로 가져오고, 빌림 하나가 0으로 된 여러 자리를 연쇄적으로 통과한 뒤에야 빌려 올 1을 만나기도 하기 때문입니다. 아래의 모든 예제는 그 빌림 사슬을 한 자리씩 따라갑니다.

이진수 뺄셈 규칙: 0−0=0, 1−0=1, 1−1=0, 그리고 0−1=1이며 다음 자리에서 1을 빌려 옵니다.

직접 빌림으로 이진수를 빼려면 어떻게 할까?

다음은 직접 빌림 방식의 완전한 예제입니다. 10110₂에서 01101₂를 빼되, 종이에 십진수를 뺄 때처럼 오른쪽에서 왼쪽으로 한 자리씩 계산합니다.

1. 1단계 — 자릿수를 나란히 맞추기

1 0 1 1 0 − 0 1 1 0 1 빼기 전에 두 수를 가장 오른쪽(최하위) 자리 기준으로 정렬합니다.

2. 2단계 — 1번째 자리(가장 오른쪽): 0 − 1

0 − 1은 빌림이 필요합니다. 다음 자리에서 1을 빌려 오면 이 자리는 2 − 1 = 1이 됩니다. 1을 적고, 다음 자리에 갚아야 할 빌림이 있다고 표시해 둡니다.

3. 3단계 — 2번째 자리: 1 − 0에서 빌림 빼기

이 자리는 원래 1 − 0이지만 2단계에서 빌려준 몫이 있으므로 (1 − 1) − 0 = 0이 됩니다. 0을 적습니다.

4. 4단계 — 3번째 자리: 1 − 1

1 − 1 = 0이고, 이 자리에는 갚아야 할 빌림이 없습니다. 0을 적습니다.

5. 5단계 — 4번째 자리: 0 − 1

0 − 1은 또 한 번 빌림이 필요합니다. 가장 왼쪽 자리에서 1을 빌려 오면 이 자리는 2 − 1 = 1이 됩니다. 1을 적고, 가장 왼쪽 자리에 갚아야 할 빌림이 있다고 표시합니다.

6. 6단계 — 5번째 자리(가장 왼쪽): 1 − 0에서 빌림 빼기

이 자리는 1 − 0이지만 5단계에서 빌려준 몫이 있으므로 (1 − 1) − 0 = 0이 됩니다. 0을 적습니다.

7. 7단계 — 결과를 읽고 십진수로 검산하기

6단계부터 2단계까지의 숫자를 읽으면 01001₂입니다. 십진수로 확인해 보면 10110₂ = 16+4+2 = 22이고, 01101₂ = 8+4+1 = 13입니다. 22 − 13 = 9이며 01001₂ = 8+1 = 9이므로, 이진수 결과와 십진수 결과가 일치합니다.

10110₂ − 01101₂ = 01001₂ (십진수로는 22 − 13 = 9) — 빌림 두 번, 십진수 교차 검산으로 확인했습니다.

이진수 뺄셈에서 빌림은 여러 개의 0을 어떻게 연쇄적으로 지나갈까?

이진수 뺄셈 계산기가 알아보기 쉽게 보여 주기 가장 어려운 경우는 연쇄 빌림입니다. 빌림 요청 하나가 1을 만나기까지 0으로 된 여러 자리를 통과해야 하는 상황이죠. 바로 그 상황을 살펴봅니다. 10000₂에서 00001₂를 빼 보겠습니다.

1. 1단계 — 자릿수를 나란히 맞추기

1 0 0 0 0 − 0 0 0 0 1 위쪽 수에서 빌림이 필요한 자리는 가장 오른쪽 한 곳뿐이지만, 바로 옆에는 빌려 올 1이 없습니다.

2. 2단계 — 1번째 자리(가장 오른쪽): 0 − 1이 연쇄를 시작한다

0 − 1은 빌림이 필요하지만 2번째 자리도 0이라 빌림 요청이 3번째 자리로 넘어갑니다. 3번째 자리도 0이라 4번째 자리로 넘어가고, 4번째 자리도 0이라 결국 1이 들어 있는 5번째 자리까지 도달합니다.

3. 3단계 — 5번째 자리에서 빌림이 해결되어 아래로 되돌아온다

5번째 자리의 1은 빌려준 뒤 0이 됩니다. 그 빌림 덕분에 4번째 자리는 0에서 2가 되지만, 4번째 자리 역시 3번째 자리에 빌려주어야 하므로 1을 내주고 자신은 1을 남깁니다(2 − 1 = 1). 그래서 4번째 자리는 1이 됩니다. 같은 '빌려주고 남기기' 패턴이 3번째 자리(1이 됨)와 2번째 자리(1이 됨)에서 반복되어, 처음의 빌림이 마침내 1번째 자리에 도착합니다.

4. 4단계 — 1번째 자리를 빌림으로 마무리하기

1번째 자리는 5번째 자리에서부터 연쇄적으로 내려온 빌림을 사용해 2 − 1 = 1이 됩니다. 1을 적습니다.

5. 5단계 — 결과를 읽고 십진수로 검산하기

5번째 자리부터 1번째 자리까지 읽으면 01111₂입니다. 십진수로 확인해 보면 10000₂ = 16이고, 00001₂ = 1입니다. 16 − 1 = 15이며 01111₂ = 8+4+2+1 = 15이므로 결과가 일치합니다. 여기서 지름길도 눈에 띕니다. 2의 거듭제곱에서 1을 빼면 뒤에 이어진 0이 모두 1로 바뀌는데, 이것이 바로 연쇄 빌림이 만들어 낸 결과입니다.

10000₂ − 00001₂ = 01111₂ (십진수로는 16 − 1 = 15) — 빌림 하나가 0인 네 자리를 연쇄적으로 지나 해결됩니다.

2의 보수 뺄셈은 어떻게 작동하고, 컴퓨터는 왜 이 방식을 쓸까?

손으로 계산할 때는 직접 빌림도 충분하지만, 컴퓨터 하드웨어에는 뺄셈 전용 회로가 따로 없습니다. 대신 2의 보수를 이용해 뺄셈을 덧셈으로 바꾸어, 하나의 이진 가산기가 두 연산을 모두 처리하도록 합니다. A에서 B를 빼려면 하드웨어는 A + (B의 2의 보수)를 계산한 뒤, 사용 중인 비트 수를 넘어 흘러나온 오버플로 비트를 버립니다.

1. 1단계 — 빼려는 수의 2의 보수 구하기

감수(빼는 수)의 1의 보수(모든 비트를 뒤집은 값)를 구한 뒤 1을 더합니다. 그러면 그 수의 음수를 이진수로 표현한 값이 나옵니다.

2. 2단계 — 빼는 대신 더하기

1단계에서 얻은 2의 보수를 피감수(빼임을 당하는 수)에 일반적인 이진 덧셈 규칙으로 더합니다.

3. 3단계 — 정해진 비트 폭에 맞으면 오버플로 비트 버리기

덧셈 결과가 정해진 비트 폭을 넘어 비트를 하나 더 만들면(예: 5비트 수를 다룰 때 나오는 6번째 비트) 그 비트를 버립니다. 그 오버플로는 빌림이 흡수되었음을 뜻하며, 남은 비트가 올바른 답입니다.

2의 보수 뺄셈: 감수의 모든 비트를 뒤집고 1을 더한 뒤, 피감수에 더하고 오버플로 비트를 버립니다.

2의 보수 뺄셈 예제는 어떻게 풀고 검산할까?

첫 번째 예제인 10110₂ − 01101₂를 5비트 수로 다시 사용해, 2의 보수 뺄셈이 직접 빌림과 같은 답에 도달하는지 확인해 봅니다.

1. 1단계 — 01101의 1의 보수 구하기

01101₂의 모든 비트를 뒤집습니다. 0→1, 1→0, 1→0, 0→1, 1→0이므로 10010₂가 됩니다.

2. 2단계 — 1을 더해 2의 보수 만들기

10010₂ + 1 = 10011₂. 이 값이 5비트에서 01101₂를 나타내는 2의 보수(음수) 표현입니다.

3. 3단계 — 피감수와 2의 보수를 더하기

10110₂ + 10011₂: 자리올림을 고려해 한 자리씩 더하면 101001₂가 나옵니다. 5비트 수 두 개를 더했으므로 6비트 결과입니다.

4. 4단계 — 오버플로 비트 버리기

101001₂에서 가장 왼쪽(6번째) 비트를 버리면 5비트 답인 01001₂가 남습니다.

5. 5단계 — 비교하고 십진수로 검산하기

01001₂는 앞서 직접 빌림으로 구한 결과와 정확히 일치합니다. 십진수로도 22 − 13 = 9이고 01001₂ = 8+1 = 9이므로 두 방법의 답이 같으며, 2의 보수 과정을 올바르게 적용했음을 확인할 수 있습니다.

2의 보수로 계산한 10110₂ − 01101₂: 10110 + 10011 = 101001 → 오버플로 버리기 → 01001₂ = 9로, 직접 빌림 결과와 일치합니다.

이진수 뺄셈에서 피해야 할 실수는 무엇일까?

손으로 계산하든 계산기로 확인하든, 잘못된 이진수 뺄셈 결과의 대부분은 몇 가지 실수에서 비롯됩니다.

1. 실수 1 — 이진수 빌림을 십진수 빌림처럼 다루기

2진법에서 빌림은 현재 자리에 10이 아니라 2를 더합니다. 이를 잊고 십진수 빌림 논리를 쓰면 빌림 방향이 맞더라도 자릿수가 틀리게 나옵니다.

2. 실수 2 — 여러 개의 0을 지나는 연쇄 빌림을 놓치기

빌림이 0으로 된 여러 자리를 통과해야 할 때(10000₂ − 00001₂처럼) 어느 자리가 아직 빌림을 갚아야 하는지 놓치기 쉽습니다. 한 번에 한 자리씩 계산하고, 빌려준 자리마다 표시를 분명히 남기세요.

3. 실수 3 — 2의 보수에서 비트를 뒤집은 뒤 1 더하기를 잊기

2의 보수는 모든 비트를 뒤집고(1의 보수) 나서 1을 더해야 완성됩니다. +1 단계를 건너뛰면 1의 보수에 머물러 정답보다 1만큼 어긋난 결과가 나옵니다.

4. 실수 4 — 고정 비트 폭 2의 보수 뺄셈에서 오버플로 비트를 남겨 두기

n비트 수 두 개를 더해 (n+1)비트 합이 나오면, 가장 왼쪽의 여분 비트를 반드시 버려야 올바른 n비트 답이 됩니다. 그대로 두면 결과가 완전히 달라집니다.

5. 실수 5 — 십진수 검산 건너뛰기

두 피연산자와 최종 답을 십진수로 바꾸는 데는 몇 초면 충분하며, 거의 모든 뺄셈 실수를 즉시 잡아냅니다. 이진수 자릿수가 하나만 틀려도 십진수 합계가 눈에 띄게 어긋나기 때문입니다.

이진수 빌림은 현재 자리에 10이 아니라 2를 더합니다 — 이진수 뺄셈 오류의 가장 흔한 원인입니다.

연습 문제: 이 이진수 뺄셈들을 풀 수 있나요?

답을 확인하기 전에 직접 빌림이나 2의 보수 뺄셈 중 하나를 골라 각 문제를 손으로 풀어 보세요.

1. 문제 1 — 직접 빌림, 빌림 한 번

1000₂에서 0011₂를 빼세요. 답: 1000₂ − 0011₂ = 0101₂. 십진수 검산: 8 − 3 = 5이고, 0101₂ = 4+1 = 5입니다.

2. 문제 2 — 2의 보수 뺄셈

2의 보수를 이용해 1010₂에서 0110₂를 빼세요. 답: 0110₂의 1의 보수는 1001₂이고, 여기에 1을 더하면 1010₂입니다. 더하면 1010₂ + 1010₂ = 10100₂이고, 오버플로 비트를 버리면 0100₂가 됩니다. 십진수 검산: 10 − 6 = 4이고, 0100₂ = 4입니다.

3. 문제 3 — 0 세 개를 지나는 연쇄 빌림

100000₂에서 000001₂를 빼세요. 답: 빌림이 0인 네 자리를 연쇄적으로 지나므로 100000₂ − 000001₂ = 011111₂입니다. 십진수 검산: 32 − 1 = 31이고, 011111₂ = 16+8+4+2+1 = 31입니다.

이 문제들은 모두 같은 두 가지 동작으로 귀결됩니다. 자리마다 빌림을 추적하거나, 2의 보수로 바꾸어 더하는 것 — 그리고 언제나 십진수로 검산하는 것입니다.

이진수 뺄셈은 실제 컴퓨팅에서 어디에 쓰일까?

이진수 뺄셈은 단순한 컴퓨터 과학 연습 문제가 아니라, CPU 산술부터 저수준 프로그래밍 버그까지 모든 것의 바탕이 되는 연산입니다. 프로세서는 산술논리장치(ALU) 안에서 2의 보수 뺄셈을 사용해, 연산마다 별도의 하드웨어를 두지 않고도 하나의 가산기 회로로 덧셈과 뺄셈을 함께 처리합니다. 메모리 주소 계산, 반복문 카운터, C 같은 저수준 언어의 포인터 연산은 모두 하드웨어 수준에서는 이진수 뺄셈으로 귀결됩니다. 연쇄 빌림 패턴을 이해하면 고전적인 버그의 원인도 설명됩니다. 바로 부호 없는 정수 언더플로인데, 0 아래로 빼면 음수가 되는 대신 아주 큰 수로 되돌아 감기는 현상입니다. 하드웨어에 더 이상 연쇄시킬 빌림이 남아 있지 않기 때문이죠.

반복문 카운터를 하나 줄이는 일부터 메모리 주소 계산까지, 모든 CPU 뺄셈은 내부적으로 2의 보수 덧셈입니다.

Solvify는 이진수 뺄셈 계산기 결과를 확인하는 데 어떻게 도움이 될까?

이 가이드로 직접 빌림과 2의 보수 뺄셈을 이해했다면, Solvify의 AI 풀이 도구로 이진 산술 문제를 사진 한 장으로 찍어 보세요. 컴퓨터 과학 과제, 이산수학 숙제, 디지털 논리 시험 대비 문제 어느 것이든 같은 자리별 계산과 보수 단계를 따라가며 보여 주므로, 손으로 직접 푼 결과와 비교해 빌림이나 비트 뒤집기 실수를 제출 전에 잡아낼 수 있습니다.

이진수 뺄셈에 자신감을 붙이는 가장 빠른 방법은 문제 하나를 손으로 풀고 계산기는 검산에만 쓰는 것입니다 — 그 반대가 아니라요.
태그:
컴퓨터 과학계산기가이드

지금 숙제 도움 받기

수백만 명의 학생들과 함께 AI 수학 풀이 도구를 사용하여 숙제 도움을 받으세요. 수학 문제에 대한 즉각적인 해결책, 단계별 설명 및 24/7 숙제 지원을 받으세요.

iOS 및 Android 기기에서 사용 가능