2 장 . 데이터의 표현

29
2 2 . . 장장장장 장장 장장장장 장장 Lecture #2 Lecture #2

Upload: axel-leblanc

Post on 03-Jan-2016

87 views

Category:

Documents


1 download

DESCRIPTION

2 장 . 데이터의 표현. Lecture #2. 수치 데이터 – 진법 (base) 10 진수 2 진수 8 진수 16 진수. 일상 생활에서 주로 사용하는 수치 데이터의 표현법. 컴퓨터 내부 또는 컴퓨터 프로그램에서 사용하는 수치 데이터의 표현법. 2.1 수의 진법 변환 (1). 진법 변환 10 진 변환 972 = 9 × 10 2 + 7 × 10 1 + 2 × 10 0. 2 진수 → 10 진수 변환 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2 장 .  데이터의 표현

22 장장 . . 데이터의 표현데이터의 표현

Lecture #2Lecture #2

Page 2: 2 장 .  데이터의 표현

컴퓨터 구조론 2

2.1 수의 진법 변환 (1) 수치 데이터 – 진법 (base)

10 진수 2 진수 8 진수 16 진수

일상 생활에서 주로 사용하는 수치 데이터의

표현법

컴퓨터 내부 또는 컴퓨터 프로그램에서 사용하는 수치 데이터의 표현법

Page 3: 2 장 .  데이터의 표현

컴퓨터 구조론 3

2.1 수의 진법 변환 (2) 진법 변환

10 진 변환

972 = 9 × 102 + 7 × 101 + 2 × 100

2 진수 → 10 진수 변환

11101(2) =1 × 24 + 1 × 23

+ 1 × 22+ 0 × 21 + 1 × 20

= 16 + 8 + 4 + 0 + 1= 29

Page 4: 2 장 .  데이터의 표현

컴퓨터 구조론 4

2.1 수의 진법 변환 (3) 10 진수 → 2 진수 변환 : 47 를 이진수 변환

2 47 → 1 LSB2 23 → 12 11 → 12 5 → 12 2 → 0 1 ← MSB

즉 , 10 진수 47 은 101111(2)

8 진수 → 10 진수 변환

456(8)

= 4 × 82 + 5 × 81 + 6 × 80

= 256 + 40 + 6= 302(10)

Page 5: 2 장 .  데이터의 표현

컴퓨터 구조론 5

2.1 수의 진법 변환 (4) 10 진수 → 8 진수 변환 :

266 을 8 진수로

8 266 → 2 LSB

8 33 → 1 4 ← MSB

즉 , 10 진수 266 은 412(8)

8 진수 → 2 진수 변환

3567(8) 을 2 진수로

3 5 6 7 ← 8 진수 ↓ ↓ ↓ ↓011 101 110 111 ← 2 진수

즉 , 3567(8) = 11101110111(2) 이다 .

Page 6: 2 장 .  데이터의 표현

컴퓨터 구조론 6

2.1 수의 진법 변환 (5) 2 진수 → 8 진수 변환

110000001100(2) 를 8 진수로

110000001100 ← 2 진수 6 0 1 4

즉 , 110000001100(2) = 6014(8) 이다 .

16 진수 → 10 진수 변환

2F5C(16) 을 10 진수변환

2F5C(16) = 2×163 + 15×162 + 5

×161 + 12×160

= 12124(10)

즉 , 2F5C(16) = 12124(10)

이다 .

Page 7: 2 장 .  데이터의 표현

컴퓨터 구조론 7

2.1 수의 진법 변환 (6) 10 진수 → 16 진수 변환

284 를 16 진수 변환

16 388 → 4 LSB

16 24 → 8 1 ← MSB

즉 , 284(10) = 184(16) 이다 .

16 진수 → 2 진수 변환

3F6A(16) 을 2 진수 변환

3 F 6 A ←16 진수 ↓ ↓ ↓ ↓0011 1111 0110 1010 ← 2 진수

즉 , 3F6A(16) = 11111101101010(2)

이다 .

Page 8: 2 장 .  데이터의 표현

컴퓨터 구조론 8

2.1 수의 진법 변환 (7) 2 진수 → 16 진수 변환

1101000010100110(2) 을 16진수로 변환

1101000010100110 ← 2 진수

D 0 A 6

즉 , 1101000010100110(2) = D0A6(16) 이다 .

Page 9: 2 장 .  데이터의 표현

컴퓨터 구조론 9

2.1 수의 진법 변환 (8)

진법 연산 덧셈 연산

2 진수 덧셈 8 진수 덧셈 1011 7046 + 111 + 274 10010 7342

16 진수 덧셈 10 진수 덧셈 A5F5 1111+ 8D26 +1101 1331B 11100

Page 10: 2 장 .  데이터의 표현

컴퓨터 구조론 10

2.1 수의 진법 변환 (9) 곱셈연산

111 × 110 000 111 111 101010

나눗셈 연산

11 11 1001 11 11 11 0

Page 11: 2 장 .  데이터의 표현

컴퓨터 구조론 11

2.1 수의 진법 변환 (10) 보수 (complement) 연산

9 의 보수 : 9 에서 각 수를 뺀다 .

보수 감산 8 8 -3 → 3 에 대한 9 의 보수 → +6 5 ① 4 올림수 ①을 더함 → +1 5 8 8 -3 → 3 에 대한 10 의 보수 → +7 5 ① 5 올림수 ①은 버림

99 - 34 65 ← 34 에 대한 9 의 보수

Page 12: 2 장 .  데이터의 표현

컴퓨터 구조론 12

2.1 수의 진법 변환 (11) 보수 (complement) 연산

2 진수 뺄셈

8 → 2 진수로 변환 → 1000 - 5 → 2 진수로 변환 → - 0101 3 11

8 1000 -5 → 1 의 보수로 변환 → +1010 3 ①0010 올림수 ①을 더함 → +1 11

Page 13: 2 장 .  데이터의 표현

컴퓨터 구조론 13

2.2 수치 데이터의 표현 (1) 고정 소수점 표현

Half word(2Byte)

Full word(4Byte)

부호비트 양수 : 0 음수 : 1

부호비트 2 진수 데이터

부호비트 2 진수 데이터

0 1 15

0 1 31

Page 14: 2 장 .  데이터의 표현

컴퓨터 구조론 14

2.2 수치 데이터의 표현 (2) 고정 소수점 표현

컴퓨터에서의 정수표현 : 2 진수 사용 부호있는 정수 (signed integer) 부호없는 정수 (unsigned integer)

n- 비트 정수의 표현 범위 부호있는 정수 : +(2n-1-1) ~ -(2n-1) 부호있는 정수 : +(2n-1) ~ 0

Page 15: 2 장 .  데이터의 표현

컴퓨터 구조론 15

2.2 수치 데이터의 표현 (3) 컴퓨터에서의 음의 정수 표현 방법

부호와 절대값 : 최상위 한 비트만 부호비트로 사용되고 , 그 외의 비트는 2 진수 값을 갖는다 . +6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 -6 : 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0

1 의 보수 : 부호와 절대값으로 표현된 값을 부호비트를 제외 한 나머지 비트들을 0 은 1 로 , 1 은 0 로 변환한다 . -6 : 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 : 부호와 절대값 표현 . -6 : 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 : 1 의 보수 표현 .

2 의 보수 : 1 의 보수방법으로 표현된 값의 최하위 비트에 1 을 더한다 . -6 : 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 : 부호와 절대값 표현 . -6 : 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 : 1 의 보수 표현 . -6 : 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 : 2 의 보수 표현 .

Page 16: 2 장 .  데이터의 표현

컴퓨터 구조론 16

2.2 수치 데이터의 표현 (4) 10 진수 데이터

4-bit BCD(8421) 코드를 사용하여 10 진수 표현 표현 방법

Packed 10 진수 – 1 바이트에 2 자리의 10 진수를 저장 Unpacked 10 진수 – 1 바이트에 1 자리의 10 진수를 저장

Page 17: 2 장 .  데이터의 표현

컴퓨터 구조론 17

2.2 수치 데이터의 표현 (5) 10 진수 데이터

팩 10 진법 형식

+1475 : 0000 0000 0000 0001 0100 0111 0101 1100 0 0 0 1 4 7 5 C

-1475 : 0000 0000 0000 0001 0100 0111 0101 1101 0 0 0 1 4 7 5 D

1475 : 0000 0000 0000 0001 0100 0111 0101 1111 0 0 0 1 4 7 5 F

D D D D D D D S

1 바이트 1 바이트 1 바이트 1 바이트

디지트 (digit)

부호 (1100,1101,1111)

Page 18: 2 장 .  데이터의 표현

컴퓨터 구조론 18

2.2 수치 데이터의 표현 (6) 10 진수 데이터

언팩 10 진법 형식

+1475 : 1111 0001 1111 0100 1111 0111 1100 0101 F 1 F 4 F 7 C 5 -1475 : 1111 0001 1111 0100 1111 0111 1101 0101 F 1 F 4 F 7 D 5 1475 : 1111 0001 1111 0100 1111 0111 1111 0101 F 1 F 4 F 7 F 5

F D F D F D S D

1 바이트 1 바이트 1 바이트 1 바이트

디지트 (digit)

부호 (1100,1101,1111)

Page 19: 2 장 .  데이터의 표현

컴퓨터 구조론 19

2.2 수치 데이터의 표현 (7) 부동 소수점 표현

매우 큰 수나 매우 작은 수를 표현하기 위해 사용 지수 부분과 가수 부분을 구분하여 표현

(0.0006543)10 = 6.543 × 10-4

(0.0006543)10 = 6543.0 × 10-7

(0.0006543)10 = 0.006543.0 × 10-1

(0.0006543)10 = 0.6543 × 10-3 정규화 표현 표현 방법

단정도 부동 소수점 (single-precision floating point number) 32 bit(4 바이트 ) 를 사용하여 표현

배정도 부동 소수점 (double-precision floating point number) 64bit(8 바이트 ) 를 사용하여 표현

Page 20: 2 장 .  데이터의 표현

컴퓨터 구조론 20

2.2 수치 데이터의 표현 (8) 부동 소수점 표현

0 17 8

S 지수부분 소수부분

0 17 8

S 지수부분 소수부분

( 단정도 )

( 배정도 )

부호소수점 위치

31

63

Page 21: 2 장 .  데이터의 표현

컴퓨터 구조론 21

2.2 수치 데이터의 표현 (9) 부동 소수점의 음수 표현

-35.5 -23.816 0.23816 × 162

음수의 경우 지수에 바이어스 (bias) 값 64 을 더하여 저장 (66)10 = (42)16

0 17 8

1 100 0010001000111000000000000000

31

부호

4 2 2 3 8 0 0 0

지수 소수

Page 22: 2 장 .  데이터의 표현

컴퓨터 구조론 22

2.3 문자 데이터의 표현 (1) BCD 코드 (8421 코드 )

2 진수 체계를 사용하면 고정 소수점표현 , 부동 소수점표현 에 비해 많은 비트 수가 필요하며 , 연산 속도 느리다 .

4 비트 형태 : 10 진수 0~9 까지 표현 . 보수를 구하기 어려움 .( 보완 => 3 초과 , 2421, 84-2-1 코드 ) 10 진수의 각 자리가 그에 상응하는 2 진수로 표현 .

8 5 3 ← 10 진수 => 9 의 보수 1 4 6 ↓ ↓ ↓ ↓ ↓ ↓1000 0101 0011 ← BCD => 9 의 보수 0001 0100 0110

Page 23: 2 장 .  데이터의 표현

컴퓨터 구조론 23

2.3 문자 데이터의 표현 (2) 3- 초과 코드 (excess-3 code)

BCD 코드 + 0011 한다 . 덧셈의 경우 연산 결과에 0011 을 뺀다 . 자리올림이 발생하면 0011 을 각 자리에 더한다 .

10 진수 3- 초과 코드

3 0110 (6)

+ 5 + 1000 (8)

8 1110 (14)

- 0011 (3)

1011 (11)

Page 24: 2 장 .  데이터의 표현

컴퓨터 구조론 24

2.3 문자 데이터의 표현 (3) 그레이 코드 (Gray code)

현 상태에서 다음 상태로 코드의 그룹들이 변화할 때 단지 하나의 비트만이 변화되는 최소변화코드 (minimum-change code) 의 일종 .

비트의 위치가 특별한 가중치를 가지지 않는 비가중치 코드 (unweighted code).

산술 연산에 부적합 . 입 / 출력 장치와 A/D 변환기와 같은 응용 장치에 사용 .

Page 25: 2 장 .  데이터의 표현

컴퓨터 구조론 25

2.3 문자 데이터의 표현 (4) 알파뉴메릭 코드

26 개의 대문자와 소문자 , 10 개의 숫자 , 7 개의 마크 그리고 +, /, #, %, * 등의 특수 문자로 이루어짐 .

컴퓨터 키보드에서 볼 수 있는 여러 가지 문자들이다 .

ASCII(American Standard Code for Information Interchange) 코드 가장 널리 쓰이는 코드중의 하나 . 7 비트 코드로서 128(27) 개의 조합으로 이루어짐 .

Page 26: 2 장 .  데이터의 표현

컴퓨터 구조론 26

2.3 문자 데이터의 표현 (5) 에러 검출의 코드

에러 발생의 이유 신호감쇄 : 전송매체의 저항에 의한 신호의 세기 감소 . 지연 왜곡 : 전송 채널 및 전송 시스템의 비 선형적 특성

으로 인한 지연 왜곡 . 전기적 잡음 : 전송매체에서 발생하여 전송 신호에 추가

되는 불필요한 잡음 .

Page 27: 2 장 .  데이터의 표현

컴퓨터 구조론 27

2.3 문자 데이터의 표현 (6) 에러 검출의 코드

패리티 비트 (parity bit) 짝수 패리티 비트

1 1 0 0 0 1 0 1 ← ASCII 의 E 첨가된 패리티 비트

홀수 패리티 비트1 1 0 0 0 1 0 0 ← ASCII 의 D

첨가된 패리티 비트

Page 28: 2 장 .  데이터의 표현

컴퓨터 구조론 28

2.3 문자 데이터의 표현 (7) 에러 검출의 코드

해밍 코드 (hamming code) 패리티 비트를 정보의 수에 따라 필요한 수만큼 사용하여 그 코드

그룹의 적당한 장소에 놓고 , 이 패리티 비트의 조합에 의하여 에러 검출 및 교정을 수행하게 하는 코드 .

2p ≥ m + p + 1 M : 정보 비트의 수 P : 패리티 비트수

Page 29: 2 장 .  데이터의 표현

컴퓨터 구조론 29

2.3 문자 데이터의 표현 (8)

Ex) 정보 비트 = 423 ≥ 4 + 3 + 18 ≥ 8m=4, p=3 이므로 해밍코드는 m+p=7 로서 7 비트로 구성되며 , 패리티 비트의 위치는 1,2,4,8… 이다 .

해밍코드 구성도

H.C H1 H2 H3 H4 H5 H6 H7

Bit P1 P2 D1 P3 D2 D3 D4

2진수 0001 0010 0011 0100 0101 0110 0111