2 -3 데이터의 표현 방식

       

    2-3-1 수치 데이터의 표현

       

      ▣ 고정 소수점 수 : 소수점이 최하위 비트의 바로 오른 쪽에 있다고 가정한 것으로서 소수점이 없는 정수형 상수의 표현법

      ▣ 부동 소수점 수 : 소수부와 지수부를 두어서 표현하는 실수 형태의 표현법


      (1) 고정 소수점 수의 표현

        1) 2 진수 데이터

             가) 형식 : 보통 부호를 가진 정수로서 2 바이트 또는 4 바이트의 2 진수 형식으로 기억

 

                   부호 비트는 양수(+)일 때는 0, 음수(-)일 때는 1로 표시

 

b0  

b1                    …                          b15

  16 비트 하프 워드(half word)

 부호

절대값

 

 

b0  

 b1      …            b15              …      b31

  32 비트 풀 워드(half word)

 부호

절대값

 


             나) 고정소수점 수 표현 방법

                  양수 : 표현 방법이 모두 같음

                  음수 : 부호와 절대값, 부호와 1의 보수, 부호와 2의 보수
 

 

                ① 부호와 절대 값

 

                  최상위 비트(MSB)에 부호를 표시하고 나머지 비트로 수치의 크기를 표시하는 것

                     (예)   0000000000010010       =       +18

 

                               1000000000010010       =       -18

 

                  문제점

 

                     - 덧셈이나 뺄셈 연산시 두 수의 부호와 상대적인 크기를 고려하여 연산을 하여야 함

 

                     - 연산을 할 때 덧셈기와 뺄셈기가 동시에 필요

 

                     - 0의 표현법이 2가지(양수 0, 음수 0) 존재하므로 연산 결과가 0 인지를 검사할 때 두 가지를 모두 고려해야 함.

 

                       (예)  0000000000000000        =       + 0

 

                               1000000000000000        =      -  0

 

                ② 부호와 1의 보수

 

                   음수는 대응되는 양수 값에 대하여 1의 보수를 취하여 표현

 

                       (예)  0000000000010010        =       +18

 

                               1111111111101101        =       - 18

 

                   1의 보수는 0은 1로, 1은 0으로 바꾸어 구할 수 있다.

 

                   장점 : 덧셈기만으로 연산 가능

 

                   문제점 : 0의 표현 방법 2가지 존재

 

                               0000000000000000        =       + 0

 

                               1111111111111111        =       - 0

 

                   - 덧셈 또는 뺄셈 연산시 최상위 비트에서 올림수가 발생하면 연산 결과의 최하위 비트에 다시 더해 주어야 함.

 

                ③ 부호와 2의 보수

 

                   음수는 대응되는 양수 값에 대하여 2의 보수를 취하여 표현

 

                        (예) 0000000000010010        =  +18

 

                               1111111111101110        =  -18

 

                   2의 보수는 1의 보수를 취하고 나서 최하위 자리에 1을 더해 주면 된다.

 

                   장점 :①수치 표현 범위가 가장 큼.

 

                              ② 0의 표현방법 1가지

 

                                  0000000000000000        =    0

 

                              ③ 덧셈기만으로 연산 가능

 

                              ④ 연산시 최상위 비트에서 올림수가 발생하면 무시

 

                  -  가장 많이 사용하는 고정 소수점 표현 방법

 


             다) 고정소수점 수의 수치 표현 범위

 

                  부호와 절대값    :  -(2n-1 - 1)  ∼   (2n-1 - 1)    

 

                  부호와 1의 보수  :  -(2n-1 - 1) ∼   (2n-1 - 1)

 

                  부호와 2의 보수  :  -2n-1         ∼    (2n-1 - 1)
 
 

 

          2) 10 진수 데이터

 

              ① 언팩 10진법 형식

 

                  1바이트를 존(zone) 부분과 디지트(digit) 부분으로 구성

 

                  존 부분에는 항상 F(1111)가 들어가고 디지트 부분에는 10 진수 값이 8421 BCD 코드 형식으로 들어감.

 

                  가장 오른 쪽 바이트의 존 부분에 부호를 표시

 

                     양수(+)는 1100(C), 음수(-)는 1101(D), 부호가 없을 때는 1111(F)

 

                 (예)

 

+1234

1111

0001

1111

0010

1111

0011

1100

0100

 

F

1

F

2

F

3

C

4

 

-1234

1111

0001

1111

0010

1111

0011

1101

0100

 

F

1

F

2

F

3

D

4

 

1234

1111

0001

1111

0010

1111

0011

1111

0100

 

F

1

F

2

F

3

F

4

 


              ① 언팩 10진법 형식

 

                   언팩 10 진법은 연산이 불가능하므로 연산하기 전에 팩 10 진법 형식으로 변환시켜 연산을 하고 연산 결과를 출력할 때
                     다시 언팩 10 진수로 변환한다.

 

                   1 바이트에 2 개의 디지트를 각각 8421 BCD 코드로 표시

 

                   가장 오른 쪽 바이트의 하위 4 비트에 부호 표시

 

                     - ASCII 코드의 경우 : 양수(+)는 1010(A), 음수(-)는 1011(B)  

 

                     - EBCDIC 코드의 경우 : 양수(+)는 1100(C), 음수(-)는 1101(D)

 

                   (예)

 

+1234

0001

0010

0011

0100

1100

 

1

2

3

4

C

 

-1234

0001

0010

0011

0100

1101

 

1

2

3

4

D

 

1234

0001

0010

0011

0100

1111

 

1

2

3

4

F

 


        (2) 부동 소수점 수의 표현

 

              고정 소수점 표현법의 제한 사항

 

                - 아주 큰 수나 아주 작은 수의 표현시 제한

 

                - 나눗셈에서 몫의 소수 부분을 잃어버림.

 

              아주 큰 수나 아주 작은 수를 몇 자리의 수로서 표현 가능

 

                  (예)  12300000000000000000 = 1.23 X 1019  

 

                          0.000000000000000000123 = 1.23 X 10-19

 

              유효 숫자를 표시하는 가수부(mantissa)와 소수점의 위치를 지정하는 지수부(exponent)를 사용해서 나타낸 표현법

 

              소수점의 위치가 고정되어 있지 않고 유동적

 

              일반적으로 부동 소수점 수 N은 가수를 A, 지수를 E, 가수의 기수를 R이라고 하면,

 

                   N =  (-1)S × A × RE  (S는 양수이면 0, 음수이면 1)

 

              단정도 형식 - 32 비트 형식

 

                배정도 형식 - 64 비트 형식

 

             IBM 360/370 의 부동 소수점 표시 형식

 

b0

b1        …  …        b7

b8                     …      …                            b31

 

부호

지수부

가수부

 

                           기수 - 16

 

                           부호 - 부호 비트 는 가수부의 부호로서 양수는 0, 음수는 1로 표현

 

                           지수부 - 지수값에 바이어스(bias)값을 더하여 표현

 

                           가수부 - 소수점 첫째 자리에 유효 숫자가 오도록 정규화
 

 

                     (예) 10진수 18325의 부동 소수점 표현 방식

 

                             (18325)10 = (0.4795)16 x 162 01000111100101012

 

                           부호 : 양수이므로 0

 

                           지수부 : 지수 + bias = 1002(410) + 10000002(6410) = 10001002(6810)

 

+

68

 

4

7

9

5

0

0

0

100

0100

0100

0111

1001

0101

0000

0000

                

4

2

       4    

7

       9     

5

       0      

0

 

[ 부동 소수점 방식의 종류 ]

 

 

XMS, Sigma 계열

IBM 360/370

Burroughs-5500

CD.C Cyber 계열

비트 수

0 ∼ 31

0 ∼ 31

0 ∼ 47

0 ∼ 59

기수

16

16

8

2

소수점의 위치

가수 부분 앞

가수 부분

가수 부분 뒤

가수 부분 뒤

가수
부분

부호의 위치

1

0

1

0

비트의 위치

8 ∼ 31

8 ∼ 31

9 ∼ 47

12 ∼59

표현방법

수 전체의
2의 보수

부호와 절대 값

부호와 절대 값

수 전체의
1의 보수

지수
부분

부호의 위치

1

1

2

1

비트의 위치

1~7

1 ∼ 7

3 ∼8

1 ∼ 11

표현방법

값 +64

값 +64

부호와 절대 값

양수 값 + 1024
음수 값 + 1023

표현범위

-64 ∼ + 63

-64 ∼ + 63

-63 ∼ + 63

-1023 ∼ +1023

 

                                                                        

 

    2-3-2  논리 및 포인터 데이터의 표현

 

       ⑴ 논리 데이터

 

            논리 데이터는 참(true)과 거짓(false)의 둘 중에 하나만을 나타냄

 

            컴퓨터 기억 장소의 한 비트만으로 데이터를 표현할 수 있음.

 

            비트 단위로 처리할 수 없는 경우에는 바이트나 워드로 나타내기도 함.

 

            논리 데이터의 처리 동작에는 논리 곱(AND), 논리 합(OR), 논리 부정(NOT) 등이 있음.

 

       ⑵ 포인터 데이터

 

            참조(reference)의 의미로서 기억 장소에 저장한 데이터의 주소를 가리킴

 

            양의 정수로서 일정한 크기의 비트들로 표현