2
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

2 장 . 데이터의 표현 PowerPoint PPT Presentation


  • 186 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

2 장 . 데이터의 표현

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


2

2장. 데이터의 표현

Lecture #2


2 1 1

수치 데이터 –진법(base)

10 진수

2 진수

8 진수

16 진수

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

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

2.1 수의 진법 변환 (1)

컴퓨터 구조론


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

2.1 수의 진법 변환 (2)

컴퓨터 구조론


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)

2.1 수의 진법 변환 (3)

컴퓨터 구조론


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)이다.

2.1 수의 진법 변환 (4)

컴퓨터 구조론


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) 이다.

2.1 수의 진법 변환 (5)

컴퓨터 구조론


2 1 6

10진수 → 16진수 변환

284를 16진수 변환

16 388 → 4LSB

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)이다.

2.1 수의 진법 변환 (6)

컴퓨터 구조론


2 1 7

2진수 → 16진수 변환

1101000010100110(2)을 16진수로 변환

1101000010100110 ← 2진수

D 0 A 6

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

2.1 수의 진법 변환 (7)

컴퓨터 구조론


2 1 8

2.1 수의 진법 변환 (8)

  • 진법 연산

    • 덧셈 연산

      • 2진수 덧셈 8진수 덧셈

        1011 7046

        + 111 + 274

        10010 7342

      • 16진수 덧셈  10진수 덧셈

        A5F5 1111

        + 8D26 +1101

        1331B 11100

컴퓨터 구조론


2 1 9

곱셈연산

111

× 110

000

111

111

101010

나눗셈 연산

11

11 1001

11

11

11

0

2.1 수의 진법 변환 (9)

컴퓨터 구조론


2 1 10

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의 보수

컴퓨터 구조론


2 1 11

2.1 수의 진법 변환 (11)

  • 보수(complement) 연산

    • 2진수 뺄셈

      8 → 2 진수로 변환 → 1000

      - 5 → 2 진수로 변환 → - 0101

      3 11

      8 1000

      -5 → 1의 보수로 변환 → +1010

      3 ①0010

      올림수 ①을 더함 → +1

      11

컴퓨터 구조론


2 2 1

2.2 수치 데이터의 표현 (1)

  • 고정 소수점 표현

    • Half word(2Byte)

    • Full word(4Byte)

    • 부호비트

      • 양수 : 0

      • 음수 : 1

0 1 15

0 1 31

컴퓨터 구조론


2 2 2

2.2 수치 데이터의 표현 (2)

  • 고정 소수점 표현

    • 컴퓨터에서의 정수표현 : 2진수 사용

      • 부호있는 정수(signed integer)

      • 부호없는 정수(unsigned integer)

    • n-비트 정수의 표현 범위

      • 부호있는 정수: +(2n-1-1) ~ -(2n-1)

      • 부호있는 정수: +(2n-1) ~ 0

컴퓨터 구조론


2 2 3

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의 보수 표현.

컴퓨터 구조론


2 2 4

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

  • 10진수 데이터

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

    • 표현 방법

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

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

컴퓨터 구조론


2 2 5

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

디지트(digit)

부호(1100,1101,1111)

1바이트

1바이트

1바이트

1바이트

컴퓨터 구조론


2 2 6

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

디지트(digit)

부호(1100,1101,1111)

1바이트

1바이트

1바이트

1바이트

컴퓨터 구조론


2 2 7

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바이트)를 사용하여 표현

컴퓨터 구조론


2 2 8

2.2 수치 데이터의 표현 (8)

  • 부동 소수점 표현

31

(단정도)

소수점 위치

부호

63

(배정도)

컴퓨터 구조론


2 2 9

2.2 수치 데이터의 표현 (9)

  • 부동 소수점의 음수 표현

    • -35.5  -23.816 0.23816 × 162

      • 음수의 경우 지수에 바이어스(bias) 값 64을 더하여 저장

      • (66)10 = (42)16

31

4 2 2 3 8 0 0 0

부호

소수

지수

컴퓨터 구조론


2 3 1

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

컴퓨터 구조론


2 3 2

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)

컴퓨터 구조론


2 3 3

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

  • 그레이 코드(Gray code)

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

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

    • 산술 연산에 부적합.

    • 입/출력 장치와 A/D 변환기와 같은 응용 장치에 사용.

컴퓨터 구조론


2 3 4

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

  • 알파뉴메릭 코드

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

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

  • ASCII(American Standard Code for Information Interchange) 코드

    • 가장 널리 쓰이는 코드중의 하나.

    • 7비트 코드로서 128(27)개의 조합으로 이루어짐.

컴퓨터 구조론


2 3 5

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

  • 에러 검출의 코드

    • 에러 발생의 이유

      • 신호감쇄 : 전송매체의 저항에 의한 신호의 세기 감소.

      • 지연 왜곡 : 전송 채널 및 전송 시스템의 비 선형적 특성 으로 인한 지연 왜곡.

      • 전기적 잡음 : 전송매체에서 발생하여 전송 신호에 추가 되는 불필요한 잡음.

컴퓨터 구조론


2 3 6

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

        첨가된 패리티 비트

컴퓨터 구조론


2 3 7

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

  • 에러 검출의 코드

    • 해밍 코드(hamming code)

      • 패리티 비트를 정보의 수에 따라 필요한 수만큼 사용하여 그 코드 그룹의 적당한 장소에 놓고, 이 패리티 비트의 조합에 의하여 에러 검출 및 교정을 수행하게 하는 코드.

      • 2p ≥ m + p + 1

        • M : 정보 비트의 수

        • P : 패리티 비트수

컴퓨터 구조론


2 3 8

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

Ex) 정보 비트 = 4

23 ≥ 4 + 3 + 1

8 ≥ 8

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

  • 해밍코드 구성도

컴퓨터 구조론


  • Login