www.gisa79.com
119
|기|출|문|제|
0609 0109 07051. 주기억장치가 연속한 8바이트(Byte)의 필드(Field) 를 더블워드(Double Word)라 할 때 하프워드(Half Word)는 몇 바이트인가?
가. 2 나. 4
다. 8 라. 16
2 자료의 표현
2.1 정보의 단위
(1) 비트 < 니블 < 바이트 < 워드 < 필드 < 레코드 < 블록 < 파일 <
데이터베이스
(2) 비트(Bit, Binary Digit) 0703 1) 정보의 최소 단위 9904 9908 0010 0109 0209
2) bit는 binary digit의 약자 0209
3) 두 가지 상태(0 또는 1)를 표시하는 2진수 1자리임 0709 (3) 니블(Nibble)
1) 4비트로 나타낼 수 있는 정보단위 0005 0103 0605
2) 4개의 비트가 모여 1개의 니블을 구성함 (4) 바이트(Byte)
1) 문자를 표현하는 최소 단위
2) 8개의 비트가 모여 1바이트를 구성함 3) 주소 지정의 단위로 사용됨
(5) 워드(Word)
1) 컴퓨터가 한 번에 처리할 수 있는 명령 단위 2) 반워드(Half-Word, 하프워드): 2 Byte 0109 0705 3) 전워드(Full-Word): 4 Byte 0010
4) 더블워드(Double-Word): 8 Byte 0109 (6) 필드(Field)
1) 파일 구성의 최소 단위 2) 항목, 아이템이라고도 함 (7) 레코드(Record)
1) 하나 이상의 관련된 필드가 모여서 구성됨
2) 일반적으로 레코드는 논리 레코드(Logical Record)를 의미함 (8) 블록(Block)
1) 하나 이상의 논리 레코드가 모여서 구성됨
2) 일반적으로 물리 레코드(Physical Record)라고 함 (9) 파일(File)
1) 프로그램 구성의 기본 단위
2) 같은 종류의 여러 레코드가 모여서 구성됨 (10) 데이터베이스(Database)
여러 개의 관련된 파일의 집합
www.gisa79.com
123
|기|출|문|제|
99041. (-17) + (-4)를 2의 보수로 계산 하였을 때 결과 는?
가. 00010101 나. 11101011 다. 11110011 라. 00001101
2.3 보수
(1) 보수(Complement, 補數)의 개념 1) 각 자리 숫자에 대해 N + N' = r 일 때,
N'를 N에 대한 r의 보수(Complement)라고 한다.
예) 4의 9의 보수란 4에 얼마를 더해야 9가 되는가를 의미 ⇨ 4에 5를 더하면 9가 되므로 4의 9의 보수는 5가 됨
① 456의 9의 보수는 각 자리에 얼마를 더해야 9가 되는가를 의미 4 5 6
+ ? ? ? 9 9 9
⇨ 456의 9의 보수: 543
② 10진법의 수 274의 9의 보수는? 0503 274 + ??? = 999
⇨ 274의 9의 보수는 725 2) 보수의 사용 용도
덧셈과 뺄셈을 덧셈 회로로 처리 가능
3) 보수의 종류: n진법에는 (n-1)의 보수와 n의 보수가 존재함
① (n-1)의 보수: 같은 자릿수에서 가장 큰 값이 되기 위해 필요한 수
• 10진법의 수 274의 9의 보수: 725 (274+725=999)
• (1001011)2의 1의 보수: (0110100)2
1001011 + 0110100 = 1111111
※ 1의 보수는 주어진 각 자리값을 0→1, 1→0으로 변환해도 됨
② n의 보수: 자릿수를 한 자리 늘리기 위해 필요한 수
• 10진법의 수 274의 10의 보수: 726 (274+726=1000)
• 2진수 0011에서 2의 보수: 1101 0303 0305 0503 0703 0705
• (1001011)2의 2의 보수: (0110101)2 0109 0209
1001011 + 0110101 = 10000000
※ n의 보수는 (n-1)의 보수에 1을 더해도 됨
(2) 보수를 이용한 뺄셈
1) A-B는 A+(-B)이므로 B에 대한 보수를 구하여 덧셈 연산으로 뺄셈을 수행 2) 보수를 이용한 계산 예: (-17) + (-4)를 2의 보수로 계산하는 과정
① 먼저 10진법으로 계산 9904 (-17) + (-4) = -21
② 21을 2진수로 변환 21 → 10101
③ 주어진 보기의 길이에 맞게 비트수를 채움 00010101
④ 2의 보수를 구함 0 0 0 1 0 1 0 1
⇩
1 1 1 0 1 0 1 1
PART 2 | 전자계산기 구조
124
2.4 자료의 내부적 표현
(1) 고정 소수점(Fixed Point) 표현 1) 10진 연산
① 10진수 1자리를 2진수 4자리로 표현하는 방식
예) 10진수 46을 2진화 10진수로 표현하면? 01000110 0109
② 레지스터를 사용하지 않고 연산 수행 9904
③ 종류
• Unpacked format - 표현 방법
Zone Digit Zone Digit Zone Digit …… Sign Digit
← 1 Byte →
- 최하위(맨 우측) 바이트의 Zone 부분을 부호로 사용 - 1 Byte로 10진수 1자리 표현
- Zone: 무조건 1111(=F)을 넣음
- Digit: 10진수 1자리를 4비트 2진수로 표현 - Sign: C(양수), D(음수), F(부호 없는 양수)
- 용도: 10진수 입 ․ 출력 형식 0503 0509 (연산은 불가능) - +1234, -1234를 언팩 형식으로 표현
+1234
Z D Z D Z D S D
1111 0001 1111 0010 1111 0011 1100 0100
F 1 F 2 F 3 C 4
-1234
Z D Z D Z D S D
1111 0001 1111 0010 1111 0011 1101 0100
F 1 F 2 F 3 D 4
www.gisa79.com
125
• Packed format - 표현 방법
Digit Digit Digit Digit Digit Digit …… Digit Sign
← 1 Byte →
- 최하위(맨 우측) 바이트의 4 Bit 부분을 부호로 사용함
- 용도: 10진수 연산형식 0503 0509 (데이터의 입 ․ 출력은 불가능) - 1 Byte로 10진수 2자리 표현
- Digit: 10진수 1자리를 4비트 2진수로 표현 - Sign: C(양수), D(음수), F(부호 없는 양수) - +1234, -1234를 팩 형식으로 표현 +1234
D D D D D S
0000 0001 0010 0011 0100 1100
0 1 2 3 4 C
-1234
D D D D D S
0000 0001 0010 0011 0100 1101
0 1 2 3 4 D
- EBCDIC 코드에 의한 (-123)10의 팩 형식 십진수의 형태 0007
2) 2진 연산 0709
① 10진수 전체 값을 2진수로 변환하여 표현하는 방식
② 표현 방법
n Bit 크기의 워드가 있을 때 맨 처음 1Bit는 부호 비트(Sign Bit)로 사용되고 나머지 n-1 Bit에 2진수로 표현된 정수 값(Data Bit)이 저장됨
0 1 2 3 4 5 6 7 … n-1
Sign
Bit Data Bit
※ Sign Bit: 0(양수), 1(음수)
③ 양수 : 부호 비트에 0을 넣고, 변환된 2진수 값을 Data Bit의 오른쪽에서 왼쪽 순으로 차례로 채우고 남는 자리에 0을 채움
④ 음수 0705 종 류
9906 0205 0308 0505 0609 표현 방법 예 제
(-25의 표현) 비 고 표현 범위 (n: 비트 개수) 부호화 절대치
(=부호 및 크기) (Signed Magnitude)
양수 표현
⇩ 부호비트 0→1
00011001
⇩
10011001 2가지 형태의 0 존재 (-0, +0)
0005
-2n-1+1
≀ +(2n-1-1) 부호화 1의 보수
(Signed 1's Complement)
양수 표현
⇩ 1의 보수
00011001
⇩ 11100110 부호화 2의 보수
(Signed 2's Complement)
양수 표현
⇩ 2의 보수
00011001
⇩ 11100111
한 가지 형태의 0만 존재
(+0)
-2n-1
≀ +(2n-1-1)
※ 2의 보수 표현 방식으로 8비트의 기억 공간에 정수를 표현할 때 표현 가능 범위 ⇨ -27 ~ +(27- 1) 0106 0209 0403 0409 0603
|오|답|쪽|지|
고정소수점에서의 음수 표기방법 종류 오답
✗9의 보수 (9’s Complement)
✗10의 보수 (10‘s Complement)
✗언팩(unpack) 형식의 십진법