[1] 반가산기의 구조 및 컴퓨터의 연산
반가산기 |
- 1비트 2진수 두 개를 더한 합Sum과 자리올림 수 Carry를 구하는 회로
- 반가산기의 목적 - CARRY(올림)을 추출해 내는데 더 목적이 있다.
A | B | Sum | Carry |
0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
- A = 1, B = 1 일때만 Carry가 1을 출력한다.
- 1⑵ + 1⑵ = 2
2를 2진수로 나타내면 = 10⑵
* 문제점 : 자리올림 개념을 고려를 못한다.
4bit의 연산 |
1 0 1 1 --- 8+0+2+1 = 11
+0 0 0 1 --- 0+0+0+1 = 1
-----------
1 1 0 0 --- 8+4+0+0 = 12
- 16진수로 나타내면 다음과 같다
>>> 0xC2
컴퓨터가 연산하는 방법 (1) |
- 컴퓨터의 연산은 덧셈을 기반으로 한다.
- 빼기는 더하기를 한 후 앞 자리를 날린값을 구한다.
<ex1>
1) 9 - 6 = 3 이와 같은 식을 6의 보수인 4를 를 더해준다. (10 - 6 = 4)
2) 그럼 9 + 4 = 13 이 된다.
3) 그 후 앞자리 수 1을 날려주면 '3' 이 된다.
4) 컴퓨터의 연산은 이와 같다.
컴퓨터가 연산하는 방법 (2) |
<ex2>
1) 3 * 2 = 6 을 연산하는 방법을 알아보자
2) 0 0 1 1⑵ = 3
3) 곱하기 2는 왼쪽으로 한 칸씩 옮긴다.
4) 그럼 값이 이와 같은 나온다.
5) 0 1 1 0⑵ = 6 (Shift)
컴퓨터가 연산하는 방법 (3) |
<ex3>
1) 8 / 2 = 4 를 연산하는 방법을 알아보자
2) 1 0 0 0 --- 8
3) 2로 나눌때에는 각 수를 오른쪽으로 한 칸씩 옮긴다.
4) 0 1 0 0 --- 4
정리 |
1. 덧셈 = 기존의 덧셈 방식과 같다.
2. 뺄셈 = 보수를 이용하여 덧셈을 한 뒤 앞자리 수를 삭제한다.
3. 곱셈 = 2로 곱할때엔 각 자리수를 왼쪽으로 한 칸씩 이동 시킨다.
4. 나눗셈 = 2로 나눌때엔 각 자리수를 오른쪽으로 한 칸씩 이동 시킨다.