컴퓨터공학/컴퓨터구조

[컴퓨터구조] Arithmetic for Computers 1 (#4)

QuickClid 2025. 4. 3. 22:03

Operation on Integers

정수에 대한 연산에는 5가지 토픽이 있다;

  1. Addition
  2. Subtraction
  3. Multiplication
  4. Division
  5. Dealing with Overflow

1. Addition

정수에 대한 연산을 하기에 앞서; 컴퓨터는 모든 연산을 이진수로 한다. 그러므로 주어진 수를 이진수로 변환하는 과정이 언제나 들어간다.

 

아무렴, 7 + 6을 생각해보자. 7과 6을 이진수로 나타내면 0111과 0110이다. 이제 두 수를 세로로 나열해보자.

 

그럼 이렇게 된다;

 

   0110(Carries)

   0111(7)

+ 0110(6)

---------------

   1101(13)

 

빨간색으로 표시한 숫자들은 Carry이다.


2. Subtraction

이제 5 - 2를 생각해보자. 5와 2를 이진수로 나타내면 0101과 0010이다.

 

그러나 Subtraction은 Addition과 다르게 보수를 취해주는 과정이 필요하다. 왜냐하면 컴퓨터에는 Subtraction 연산이 따로 없기 때문이다.

 

따라서 0101(5) 1110(-2)을 세로로 나열해야 한다.

 

그럼 이렇게 된다;

 

   0100(Carries)

   0101  (5)

+ 1110 (-2)

---------------

   0011  (3)

 

빨간색으로 표시한 숫자들은 Carry이다. 참고로 비트 수가 충분하다는 가정 하에, 결과는 10011이 되지만 오버플로우 때문에 앞의 1부분이 잘려서 0011로 3이 된다.