■ 자료의 단위
종류 | 설명 |
* 컴퓨터 내부 단위 (1~4) | |
1. Bit | 자료(데이터, 정보) 표현의 최소 단위 |
2. Nibble | Bit 4개 |
3. Byte | Bit 8개 (256가지 표현 가능), 문자 표현의 최소 단위이다. |
4. Word | CPU가 한 번에 처리할 수 있는 명령의 단위 [종류] * Half-Word = 2Byte * Full-Word = 4Byte * Double-Word = 8Byte |
* 논리적 단위 (5~9) | |
5. Field | 필드 (= 아이템, Item, 항목) - 파일 구성의 최소 단위 |
6. Record | 1개 이상의 관련된 Field |
7. Block | 1개 이상의 관련된 Record |
8. File | 프로그램 구성의 기본 단위 - 여러 개의 Record로 이루어짐 |
9. Database | 관련된 File의 집합 |
■ 진법 변환 (★★)
[종류]
(1) 2진수 (0,1)
(2) 8진수 (0~7)
(3) 16진수 (0~9, A~F)
(4) 10진수 (0~9)
방법 | 설명 |
10진수 -> N진수 | 정수부는 N으로 계속 나눠주고 소수부는 N을 계속 곱해준다. (예) 10진수-> 2진수는 2로 나누고 8진수는 8로 나누고 16진수는 16으로 나눈다 10진수 16은 2진수로 10000이다. 이 원리로 (예) 13.625 10진수를 2진수로 바꾼다면 13 = 1101 정수부는 1101이다. 소수부는 0.625 이고 이를 000이될때가지 2를 계속 곱해주면 (1) .250 (0) .500 (1) .000 소수부는 즉 101이 되므로 13.625의 2진수는 1101.101이다. |
N진수 -> 10진수 | 각 자리의 가중치를 계산한다. 예) (10000)2진수 -> (16)10진수 = 1 * (2^4) + 0 * (2^3) + 0 * (2^2) + 0 * (2^1) + 0 * (2^0) = 16 예) (1101.101)2진수 -> (13.625)10진수 = 1* (2^3) + 1* (2^2) + 0 * (2^1) + 1 * (2^0) + 1 * (1/2^1) + 0 * (1/2^2) + 1 * (1/2^3) = (8 + 4 + 0 + 1).(0.5 + 0 + 0.125) = 13.625 예) (272)8진수 -> (186)10진수 = 2 * (8^2) + 7 * (8^1) + 2 * (8^0) = 128 + 56 + 2 = 186 예) (FF)16진수 -> (255)10진수 = 15 * (16^1) + 15 * (16^0) = 15 * 16 + 15 * 1 = 240 + 15 = 255 (10부터 15까지 A~F이다) |
2진수 <-> 8진수 | 3자리씩 묶어서 처리한다. 예) (10000)2 <-> (20)8 10000 = /010/000 (1로끝나고 빈자리는 0으로 채운다) 010 = 2 000 = 0 즉, 10000(2진수) = 20(8진수) |
2진수 <-> 16진수 | 4자리씩 묶어서 처리한다. 예) (10000)2 <-> (10)16 10000 = /0001/0000 (1로끝나고 빈자리는 0으로 채운다) 0001 = 1 0000 = 0 즉, 10000(2진수) = 10(16진수) |
8진수 <-> 16진수 | 2진수로 변환 후 처리한다. (예1) 4CD(16진수)를 -> 8진수로 바꿔라 4CD = 10진수로 각각 4, 12, 13이다. 이를 2진수로바꾸면 0100 1100 1101이다. 이걸 세자로 끊어보자 010/011/001/101 (2/3/1/5)이다. 즉 4CD (16진수)의 8진수 값은 2315이다. (예2) 234(8진수)를 -> 16진수로 바꿔라 = 010/ 011/ 100 = 1001/1100 (9/12) = 9C |
■ 보수, 음수 표현 방법
* 보수 (Complement)
: 서로 상반되는 수 (보수를 이용하면 가산기(덧셈)을 이용해서 뺄셈을 할 수 있다.
(예) 10진수로 10의 보수를 기준으로 할 때 6의 보수는 4이고 4의 보수는 6이다.
9의 보수를 기준으로 5의 보수는 4이고 4의 보수는 5이다.
(문제) 10진수 550의 9의 보수를 구해라
(풀이)
-> 10진수 550을 10의 보수로 보자면 1000-550 = 450이다.
-> 9의 보수로 변환하면 450 - 1 = 449이다.
(문제) 2진수 11010의 1의 보수로 계산하라
(풀이) -> 1의 보수는 반전시키면 된다. 즉 00101이다.
(문제) 2진수 10001010의 2의 보수로 계산하라
(풀이)
1의 보수로 먼저 계산한다
반전시킨 01110101에다 2의 보수이니 +1을 시키면
답은 01110110이다.
* 음수 표현 방법
: 컴퓨터에서 음수를 표현하는 방법은 3가지가 있다. (양수는 1가지)
(예시) -14를 8bit로 표현하면
14는 8비트로 0000 1110이다. 이 예시를 기준으로 -를 표현하자면
(1) 부호화 절대치
: 1000 1110이다. 첫 비트는 부호비트이며 음수이므로 1값을 준다.
(2) 부호화 1의 보수
: 부호화 절대치에서 부호는 고정시키고 반전을 시킨다.
즉 1111 0001이다.
(3) 부호화 2의 보수
: 부호화 1보수에서 +1을 더해준다. 즉 1111 0010이다.
(예시)
8비트 컴퓨터에서 10진수 -13을 부호화 절대치 방식으로 표현한 것은?
= 1000 1101
'자격증 및 시험 > 정보처리' 카테고리의 다른 글
[컴퓨터] 컴퓨터 시스템 구성 (0) | 2023.05.01 |
---|---|
[전자계산] 자료 표현 방식 (0) | 2023.04.27 |
[논리회로] 종류 (0) | 2023.04.25 |
[논리회로] 간소화 (0) | 2023.04.25 |
[논리회로] 개념 (0) | 2023.04.24 |