프로그래밍

[컴퓨터 구조] 진법과 진수 변환, 보수

판다의 삶 2020. 5. 13. 11:16
728x90

1. 진법
2진법 : 0과 1의 2개의 기호를 사용하는 진법.
8진법 : 0~7까지의 8개의 기호를 사용하는 진법.
10진법 : 0~9까지의 10개의 기호를 사용하는 진법.
16진법 : 0~9,  A~F가지의 16개의 기호를 사용하는 진법.

2. 진수의 변환
10진수 → 2진수, 8진수, 16진수 변환
10진수를 변환할 진수로 나누고 밑에서 위로 나열함.

2진수, 8진수, 16진수 → 10진수 변환
각 자릿수에 가중치를 나타내는 자릿값을 곱하여 모두 더함.

2진수, 8진수, 16진수 사이의 변환
8진수 ⇔ 2진수와 2진수 ⇔ 16진수 사이는 쉽게 변환할 수 있음.
8진수 ⇔ 2진수 : 2진수 세 자리를 8진수 한 자리로, 8진수 한 자리를 세자리로 변환
2진수 ⇔ 16진수 : 2진수 네 자리를 16진수 한 자리로, 16진수 한 자리를 2진수 네 자리로 변환

3. 2진수 사칙연산
덧셈 :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (자리 올림 수 발생)
뺄셈 :
0 - 0 = 0
0 - 1 = 1 (자리 빌림수 발생)
1 - 0 = 1
1 - 1 = 0
곱셈 : 덧셈의 반복
나눗셈 : 뺄셈의 반복
※ 컴퓨터 구조를 간단하게 하기 위해서 감수를 보수로 변환하여 더함. 실제상의 컴퓨터의 모든 사칙연산은 2진수의 덧셈으로 이루어짐.

 

4. 보수
: 각 자리의 숫자의 합이 어느 일정한 수가 되게 하는 수
1의 보수 : 2진수의 0과 1을 반전
2의 보수 : 1의 보수 +1

5. 2의 보수에 의한 뺄셈
① 감수의 2의 보수를 구한다.
② 피감수와 감수의 2의 보수를 더한다.
③ 자리 올림수가 발생하면 자리 올림수를 버리고 자리 올림수가 없으면 그수의 1의 보수를 취하고 -를 붙인다.

728x90