2 장 . 데이터의 표현
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 PresentationTRANSCRIPT
22 장장 . . 데이터의 표현데이터의 표현
Lecture #2Lecture #2
컴퓨터 구조론 2
2.1 수의 진법 변환 (1) 수치 데이터 – 진법 (base)
10 진수 2 진수 8 진수 16 진수
일상 생활에서 주로 사용하는 수치 데이터의
표현법
컴퓨터 내부 또는 컴퓨터 프로그램에서 사용하는 수치 데이터의 표현법
컴퓨터 구조론 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
컴퓨터 구조론 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)
컴퓨터 구조론 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) 이다 .
컴퓨터 구조론 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)
이다 .
컴퓨터 구조론 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)
이다 .
컴퓨터 구조론 8
2.1 수의 진법 변환 (7) 2 진수 → 16 진수 변환
1101000010100110(2) 을 16진수로 변환
1101000010100110 ← 2 진수
D 0 A 6
즉 , 1101000010100110(2) = D0A6(16) 이다 .
컴퓨터 구조론 9
2.1 수의 진법 변환 (8)
진법 연산 덧셈 연산
2 진수 덧셈 8 진수 덧셈 1011 7046 + 111 + 274 10010 7342
16 진수 덧셈 10 진수 덧셈 A5F5 1111+ 8D26 +1101 1331B 11100
컴퓨터 구조론 10
2.1 수의 진법 변환 (9) 곱셈연산
111 × 110 000 111 111 101010
나눗셈 연산
11 11 1001 11 11 11 0
컴퓨터 구조론 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 의 보수
컴퓨터 구조론 12
2.1 수의 진법 변환 (11) 보수 (complement) 연산
2 진수 뺄셈
8 → 2 진수로 변환 → 1000 - 5 → 2 진수로 변환 → - 0101 3 11
8 1000 -5 → 1 의 보수로 변환 → +1010 3 ①0010 올림수 ①을 더함 → +1 11
컴퓨터 구조론 13
2.2 수치 데이터의 표현 (1) 고정 소수점 표현
Half word(2Byte)
Full word(4Byte)
부호비트 양수 : 0 음수 : 1
부호비트 2 진수 데이터
부호비트 2 진수 데이터
0 1 15
0 1 31
컴퓨터 구조론 14
2.2 수치 데이터의 표현 (2) 고정 소수점 표현
컴퓨터에서의 정수표현 : 2 진수 사용 부호있는 정수 (signed integer) 부호없는 정수 (unsigned integer)
n- 비트 정수의 표현 범위 부호있는 정수 : +(2n-1-1) ~ -(2n-1) 부호있는 정수 : +(2n-1) ~ 0
컴퓨터 구조론 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 의 보수 표현 .
컴퓨터 구조론 16
2.2 수치 데이터의 표현 (4) 10 진수 데이터
4-bit BCD(8421) 코드를 사용하여 10 진수 표현 표현 방법
Packed 10 진수 – 1 바이트에 2 자리의 10 진수를 저장 Unpacked 10 진수 – 1 바이트에 1 자리의 10 진수를 저장
컴퓨터 구조론 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)
컴퓨터 구조론 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)
컴퓨터 구조론 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 바이트 ) 를 사용하여 표현
컴퓨터 구조론 20
2.2 수치 데이터의 표현 (8) 부동 소수점 표현
0 17 8
S 지수부분 소수부분
0 17 8
S 지수부분 소수부분
( 단정도 )
( 배정도 )
부호소수점 위치
31
63
컴퓨터 구조론 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
지수 소수
컴퓨터 구조론 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
컴퓨터 구조론 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)
컴퓨터 구조론 24
2.3 문자 데이터의 표현 (3) 그레이 코드 (Gray code)
현 상태에서 다음 상태로 코드의 그룹들이 변화할 때 단지 하나의 비트만이 변화되는 최소변화코드 (minimum-change code) 의 일종 .
비트의 위치가 특별한 가중치를 가지지 않는 비가중치 코드 (unweighted code).
산술 연산에 부적합 . 입 / 출력 장치와 A/D 변환기와 같은 응용 장치에 사용 .
컴퓨터 구조론 25
2.3 문자 데이터의 표현 (4) 알파뉴메릭 코드
26 개의 대문자와 소문자 , 10 개의 숫자 , 7 개의 마크 그리고 +, /, #, %, * 등의 특수 문자로 이루어짐 .
컴퓨터 키보드에서 볼 수 있는 여러 가지 문자들이다 .
ASCII(American Standard Code for Information Interchange) 코드 가장 널리 쓰이는 코드중의 하나 . 7 비트 코드로서 128(27) 개의 조합으로 이루어짐 .
컴퓨터 구조론 26
2.3 문자 데이터의 표현 (5) 에러 검출의 코드
에러 발생의 이유 신호감쇄 : 전송매체의 저항에 의한 신호의 세기 감소 . 지연 왜곡 : 전송 채널 및 전송 시스템의 비 선형적 특성
으로 인한 지연 왜곡 . 전기적 잡음 : 전송매체에서 발생하여 전송 신호에 추가
되는 불필요한 잡음 .
컴퓨터 구조론 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
첨가된 패리티 비트
컴퓨터 구조론 28
2.3 문자 데이터의 표현 (7) 에러 검출의 코드
해밍 코드 (hamming code) 패리티 비트를 정보의 수에 따라 필요한 수만큼 사용하여 그 코드
그룹의 적당한 장소에 놓고 , 이 패리티 비트의 조합에 의하여 에러 검출 및 교정을 수행하게 하는 코드 .
2p ≥ m + p + 1 M : 정보 비트의 수 P : 패리티 비트수
컴퓨터 구조론 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