본문 바로가기
자료구조

2의 보수를 사용하면 좋은 점

by sleepycho 2024. 3. 17.

컴퓨터는 의외로 단순하다.

   결론부터 말하면 1의 보수보다 효율이 좋기 때문이다. 먼저, 컴퓨터는 0 또는 1로만 의미를 전달하는데 이유는 가장 간단한 방법이기 때문이다. 스위치 ON/OFF를 생각하면 쉽다. 우리가 LED 불을 켜는데 이것저것 누를 필요 없이 스위치를 올렸다 내리는 것처럼 말이다. 그래서 필자는 컴퓨터는 의외로 단순하다고 생각한다.

 

  • 보수를 배워야 하는 이유 (feat. 보수 구하기)

우리 인간들은 사칙연산(더하기, 빼기, 곱하기, 나누기)이 쉽게 된다. 근데 컴퓨터는 그렇지 않다. 컴퓨터 입장에서 빼기 계산을 하는 건 매우 어렵다. 그러나 더하는 건 쉽다. 컴퓨터에서 빼기를 하기 위해서 보수를 배운다. 진보를 알기 위해서가 아니다.

 

1의 보수는 0을 1로, 1을 0으로 변환하는 것이다. 2의 보수는 1의 보수에서 1을 더한 것이다.

 

예를 들어,

 

1101(2)를 1의 보수로 구한다면 0010이 된다. 여기서 2의 보수는 1의 보수의 결과 값인 10에서 1을 더해 0011이 된다. 

 

  • 고정 소수점 데이터 표현 방식을 이용한 +20과 -20 표현하기

고정 소수점 데이터 표현 방식은 쉽게 말해서 소수점을 포함하지 않는 정수를 표현한다. 이를 16비트로 +20과 -20을 표현하면 다음과 같다.

 

+20을 부호와 절대치로 표현하면 0000 0000 0001 0100

 

-20을 부호와 절대치로 표현하면 1000 0000 0001 0100

부호가 마이너스이기 때문에 앞에 1을 붙인다.

 

-20을 부호와 1의 보수로 표현하면 1111 1111 1110 1011

 

-20을 부호와 2의 보수로 표현하면 1111 1111 1110 1100 

 

로 표현할 수 있을 것이다. 

 

'자료구조' 카테고리의 다른 글

문자는 어떻게 저장되고 표현될까?  (0) 2024.04.09
부동 소수점 데이터 표현 방식  (0) 2024.03.19
10진수 표현 방식  (0) 2024.03.19
자료의 표현 단위  (0) 2024.03.17
자료와 정보의 이해  (0) 2024.03.17