보수(Complement)
보충을 해주는 수를 의미한다. 주로 뺄셈과 논리 계산에 사용한다.
이진법을 예로 들면, 어떤 이진수를 커다란 2의 제곱수에서 빼서 얻은 이진수를 2의 보수라 한다.
2의 보수 (Two's Complement)
주어진 이진수보다 한 자리 높고, 가장 높은 자리가 1이며, 나머지가 0인 수에서 주어진 수를 빼서 얻은 수가 2의 보수이다.
대부분의 산술연산에서 원래 주어진 숫자의 음수처럼 취급된다.
예를 들어 8비트로 이진수를 표기할 때는 0부터 255까지의 숫자를 나타낼 수 있다.
하지만 2의 보수법을 사용하면, 맨 앞 비트를 부호 비트로 사용하여 -128부터 127까지의 숫자를 나타낼 수 있다.
(맨 앞이 0이면 양수, 1이면 음수)
2의 보수 계산법
다음과 같은 두 가지 과정만 거치면 2의 보수를 쉽게 구할 수 있다.
1. 모든 0과 1을 뒤집는다.
2. 그 수에 1을 더한다.
그 이유에 대해 아래 블로그에 차근차근 잘 설명되어 있어 추가적으로 가져왔다.
https://coding-factory.tistory.com/653
아래 웹 사이트를 통해 2의 보수를 직접 확인하며 쉽게 이해할 수 있다!
https://www.omnicalculator.com/math/twos-complement
'Study in SSAFY > Computer Science' 카테고리의 다른 글
[운영체제] 프로세스 동기화 (0) | 2023.02.06 |
---|---|
[운영체제] 프로세스 (0) | 2023.01.30 |
[컴퓨터 구조] 범용 레지스터 구조 (0) | 2023.01.25 |
[컴퓨터 구조] 데이터의 종류(Data Types) (0) | 2023.01.17 |
[컴퓨터 구조] 디지털 논리 회로 (0) | 2023.01.10 |