컴퓨터공학/컴퓨터구조
[컴퓨터구조] Arithmetic for Computers 1 (#4)
QuickClid
2025. 4. 3. 22:03
Operation on Integers
정수에 대한 연산에는 5가지 토픽이 있다;
- Addition
- Subtraction
- Multiplication
- Division
- 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이 된다.