[궁금증] 보수CS & AI/Computer Architecture2026. 4. 20. 20:08
Table of Contents

Complement
보수
채워서 보충하는 수
한 바퀴(최대값)를 채우기 위해 부족한 수
제일 흔한 10진법을 통해서 알아봅시다.
10진법에서 한 바퀴는 10
숫자 3에 대해서 10의 보수는 7
숫자 6에 대해서 10의 보수는 4
다시 말해, 3에서 한 바퀴인 10을 채우기 위해서는 7이 필요합니다.
컴퓨터에서 보수가 중요한 이유
뺄셈을 덧셈으로 바꿀 수 있기 때문입니다.
10진법의 한 자리 수만 존재하는 세계관이 있다고 해봅시다.
5 - 3 = 2 # 뺄셈
5 + 7 = 12 # 한 자리만 보면 2
보수를 사용하게 되면 덧셈으로 뺄셈과 같은 결과를 만들어 낼 수 있습니다.
올림(carry)만 버리면 됩니다.
이제 2진법으로, 컴퓨터 세계로 넘어가 볼께요.
2진법이라고 해서 다를 것 없습니다.
여기에서는 4 bit의 세계관이라고 해볼께요.
즉, 0000에서 1111, 한 바퀴는 $10000_2 = 16$ 인 것이죠.
똑같이 저는 $5 - 3$을 하고 싶습니다.
5 = 0101
3 = 0011
3의 2의 보수 = 뒤집고(1100) + 1 = 1101
0101 + 1101 = 10010 → 4비트만 보면 0010 = 2
1의 보수와 2의 보수 차이
| 의미 | 방법 | |
| 1의 보수 | 최대값(1111)을 채우는 수 | 비트 뒤집기만 |
| 2의 보수 | 한 바퀴(10000)를 채우는 수 | 비트 뒤집고 +1 |
RISC - V가 2의 보수를 사용하는 이유는 2의 보수가 뺄셈을 덧셈 회로 하나로 처리할 수 있게 해주기 때문입니다.
ALU에 뺄셈기를 따로 만들 필요가 없어지거든요.
이것도 simplicity favors regularity 정신이라 할 수 있겠습니다.
결국 보수는 빼는 대신 더하기 위해 만든 짝꿍 숫자
'CS & AI > Computer Architecture' 카테고리의 다른 글
| <컴퓨터구조> Procedure, memory & branch (0) | 2026.05.14 |
|---|---|
| <컴퓨터구조> Instruction Cont'd (0) | 2026.04.19 |
| <컴퓨터 구조> 기본 산술 instruction과 RISC-V Assembly Language 요약 (0) | 2026.04.17 |
| <컴퓨터구조> Instructions - Language of the Computer (0) | 2026.04.16 |
| <컴퓨터구조> Performance (0) | 2026.04.16 |
@Ungbae :: 그럼에도 불구하고
나의 성장 드라마
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!