상세 컨텐츠

본문 제목

컴퓨터과학개론 - 자료의 개념

Tips/방송통신대학교

by 한국인맛집 2019. 9. 10. 23:40

본문

반응형

자료의 개념


1) 자료와 정보

I = P(D)

Information = Processor( Data)

자료 처리기 ==> 정보처리

 [ 자료 (D)   ->    처리기 (P)    ->   정보 (I) ] 

자료 : 현실 세계로부터 관찰이나 측정을 통해 단순히 얻어지는 값/사실

정보 : 어떤 상황에 대해 적절한 의사결정을 수행할수 있게 하는 지식

 

자료의 표현 형태

자료의 유형과는 무관하게 일관된 표현방식을 사용한다.

  • 비트패턴
  • 저장된 자료의 유형에 맞게 해석하고 처리하는것은 입출력장치나 프로그램의 책임. (동일한 형태로 저장되기 때문에.)

자료의 표현 단위

  • 비트 (Binary digit)  : 0과 1은 수치가 아닌, 단순히 2가지 상태를 표현하는 기호
  • 바이트(Byte ) 8가지 상태를 표현하는 단위 , KB , MB , GB, TB, PB, ExaB , ZettaB , YottaB
  • 워드(word) : 컴퓨터 연산의 기본 단위가 되는 정보의 양  , 32비트 , 64비트 

 

진법


진법 ( Number System) -> 수를 세는 방법 또는 단위

R 진법 : 0, 1, ···· , (R-2) , (R-1) 까지의 숫자만을 사용해서 수를 표현

2진법 : 0, 1

8진법 : 0, 1 , 2 ··· ,6, 7

10진법 , 0, 1 , 2 ···· 8 , 9

16진법 , 0, 1, 2 ··· 9, A , B , C , D , E , F

 

진법은 각위치에 따른 서로 다른 가중치(자릿값)가 존재

123 ( =  1 * 100  + 2 * 10 , 3 * 1)   [Decimal]

1011 ( = 1 * 2^3  + 0 * 2^2 + 1 * 2^1 + 1 * 2^ 0 ) [ Binary]

 

10진수_정수 부분 -> r진수 ( r = 2, 8 , 16)

/*
	Quotient = 몫
	Remainder =  나머지
	Input = 입력
	DecimalNumber = 10진수
*/

// Algorithm

Input = DecimalNumber;
i = 0;

Result[i] = Remainder;

while(Quotient != 0)

	Input = Quotient;
    i= i+1;
    
    Quetient = Input/r;
    
    Remainder = input mod r;
    Result[i] = Remainder;
    
end

for( start = i ;  start >= 0; i--)
	print Result[i];
    
    

10진수_소수 부분 -> r진수 ( r = 2, 8 , 16)

/*
	Quotient = 몫
	Remainder =  나머지
	Input = 입력
	DecimalNumber = 10진수
*/

// Algorithm

Input = DeciamlNumber;

i = 0;

while(Input != 0)
	Temp = Input * r;
    Result[i] = Temp의 정수부분;
    i = i+1;
    
    Input = Temp_소수부분;
end


for( start = 0 ;  start < i ; i--)
	print Result[i];
    
    

 

0.6875 (10진수 _소수 부분 -> r 진수로 변환)

0.6875 * 2 = 1. 375 === 1 

0.375 *2 = 0.75 ===  0

0.75 * 2 = 0.5  ====== 1

0.5 * 2 = 1.0 ====== 1

0 이면 종료.

 

정확한 이진수를 구할수없음.

 

0.6[10] 의 경우 정확한 이진수를 구할수 없다.

 

정수


정수의 표현방법

부호가 없는 정수(Unsigned) 부호가 있는 정수 (Signed)
부호(+, - ) 비트가 없음 (음의정수를 표현불가능)

최상위비트

부호비트 ( 부호비트 (0 -> 양수 , 1-> 음수)

n비트는 -> 0~ 2^n -1 양의 정수는 모두 동일, 음의 정수는 서로 다른 형태를 가짐
  부호화- 크기 , 1의 보수 , 2의 보수

 

부호 없는 정수

주어진수 -> 2진수 변환  ->  n 비트 할당  n = 8 

0~255

예)

  115   >  1110011(2) >  [0][1][1][1][0][0][1][1]

  275 >  100010011   >  "1" [0][0][0][1][0][0][1][1]   

 

8bit로는 표현할수 없음 Overflow 

     ※ 8비트로는 표현이 불가능, 비트를 추가하여 표현해주어야함.

 

부호 있는 정수

n = 8 비트 인경우

[ 0 , 1 부호가 들어가는 부호비트]    [ ][ ][ ][ ][ ][ ][ ]   n-1 로 비트를 표현함

124 >>  [ 0  ][ 1][ 1][1 ][1 ][1 ][0 ][0 ]

-124 >>  [ 1 ][ 1 ][ 1 ][ 1 ][ 1 ][ 1 ][ 0 ][ 0 ]

  • 부호화 - 크기로 표현 ( 절대값) 
    • 수의 범위 : +0~ +127 , -0 ~ -127 

[ 0  ][ 1 ][ 1 ][ 1 ][ 1 ][ 1 ][ 0 ][  0 ]

  • 1의 보수
    • 수의 범위 : +0 ~ +127 , -127~ -0 

[ 1  ][ 0 ][ 0 ][ 0 ][ 0 ][ 0 ][ 1 ][ 1 ]

  • 2의 보수
    • 수의 범위 : +0~ +127,  -128 ~-1

1  ][ 0 ][ 0 ][ 0 ][ 0 ][ 0 ][ 1 ][ 1 ]

+                                                1

______________________________________

 [ 1  ][ 0 ][ 0 ][ 0 ][ 0 ][ 1 ][ 0 ][ 0 ]

 

2의 보수 의 응용

이진수 10001101 -> 10진수 변환

1.  1001101 

   -              1

______________

1001100

 

2.  보수 계산

1001100 => 0110011   => -115

 

24-17

A- B    --> A+ (-B)   : B에 대한 2의 보수를 취한 후 덧셈을 수행

17 -> 00010001   => 2의 보수 변환    > 11101111 (-17)

+24를 더해준다. 

 00011000

 11101111

____________

1  00000111  +7

↑무시해준다.

 

실수의 표현

1) 부동소수점 방식으로 표현

1,234,000,000,000   =====>  1.234 X 10^12

-0.0000000005678  =====>  -5.678 X 10 ^-10

 

(-1)^S x M  x B ^E

부호  S 0 1
가수 M 1.234 5.678
기저 B 10 10
지수 E 12 -10

 

컴퓨터 상에서 실수표현

기저 가 10 > 2 로 변경된다.

(-1) ^ S x M x 2 ^ E

S : 부호 비트 (1비트)   

M : 지수 (M Bit 4 시스템에 따라 다르다)       

E : 가수 (n 비트  시스템에 따라 다르다)

  • 지수비트가 클경우 수의 표현을 넓게 표현 가능함
  • 가수 비트가 클경우 소수점 아래 수의 표현을 더 욱 정확하게 나타낼때

 

초과 표기법

 

부동소수점 방식의 지수 부분 만을 표현하기 위한 방법

매직넘버

  • m 비트 ->  2^(m-1)  또는 2^(m-1) -1

m = 8 비트 라고 했을때 

   2^(8-1) = 2^7 = 128 [ 초과_128]

   2^(8-1) -1 = s^7 -1 = 127 [초과_127]  *매직넘버

 

정규화

 

가수를 표현할때 표준화된 형식이 필요

 

-1010.00110011 x 2^3

-10.1000110011 x 2^5

 

실수 표현의 예

 

 

43.6875

 

-> 101011.1011

->  [정규화 좌측으로 5칸]

-> 1.010111011 x 2^5

 

부호비트                  가수(5) + 매직넘버(127)           지수부분 소수점 뒷자리만 넣고 나머지 뒷부분은 0으로 채움

[0]                [  1000100  ]                                  [ 010111011 000000 ]

                                                                      1(생략함 , 단 해석할때는 1이 포함됬다는걸 인지하고 있어야함)  

 

 

 

IEEE 부동 소수점 방식의 표준 형식

 

단정도 (Single Precision -> 4 Byte)

 

[ 부호 1비트 ]    [ 지수 8비트 (매직넘버 127)  ] [ 가수 23 비트 ]

 

배정도 (double precision -> 8Byte)

 

[부호 1비트 ]     [ 지수 11비브 (매직넘버 1023)   ]  [가수 52비트 ]

 

 

문자의 표현

 

American Standard Code for Information Interchange

 

미국 표준협회 (ANSI)

 

7bit 코드 -> 128개 (2^7)의 서로 다른 문자 표현

 

확장된  extended ASCII -> 1비트 + 7비트

 

A  = 65   = 1000001 

a  = 97  =  1100001

 

대문자와 소문자는 32 만큼 차이난다 2^6 자리 에 1을 넣으면 소문자가 되고 0이되면 대문자 가 된다.

 

반응형

관련글 더보기