01 진수변환

 

1) 다른 진수의 10진수로의 변환

 

ex) 27.42(8진수) = 2*8^1 + 7*8^0 + 4*8^-1 + 2*8^-2

 

2) 10진수의 다른 진수로 변환

 

소수점 윗자리는 진수로 계속 나누어 나머지를 구해내고 소수점 아래 자리는 진수를 곱하여 캐리를 구해서 알아낸다.

 

3) 2진수의 2^n 진수로 변환

 

소수점을 기준으로 n자리씩 묶어 변환한다.

 

4) 2^n진수의 2진수로의 변환

 

소수점을 기준으로 n자리씩 풀어준다.

 

   A     1    .   6(16진수)

1010  0001   0110

 

5) p진수를 q진수로 변환하기

 

p진수를 10진수로 변환하고 다시 10진수를 q진수로 변환한다.

 

 

 

02 컴퓨터 문자표현

 

 

1) ASCII

 

아스키코드 - 7비트를 기준으로 문자표현 128개의 문자 표현가능.

 

2) 유니코드

 

문자를 16비트로 표현하므로 최대 65536자 표현가능

 

3) 텍스트 압축

 

- 런렝스 코딩 -> 반복문자*탈출문자*반복횟수 

 

- 허프만 코딩

 

 

 

 

 

03 컴퓨터 정수표현

 

1) 2의보수

 

컴퓨터에서 정수를 표현하는 대표적인 방법은 2의 보수이다.(컴퓨터구조 페이지에 자세한 설명)

 

5-> 0101 -> 0은 1로, 1은 0으로 변환 -> 1010 - > 1을 더함 -> 1011

 

최상위 비트는 부호비트이다.

 

4비트인 경우에 표현할 수 있는 최대값은 2^3-1 최소값은 -2^3 이다

 

즉 -2^(n-1) ~ 2^(n-1)-1 표현가능

 

 

2) 정수의 덧셈과 뺄셈

 

음수인 경우에 2의 보수로 표현해서 더해주면 된다

 

그런데 30000 + 30000 인경우에는 2의 보수로 표현하고 더하면 이상한 값이 나오는데 표현할 수 있는 최대값을 넘었기 때문이다

 

이런 오류를 오버플로우라고 한다.

 

 

 

03 컴퓨터 실수 표현

 

 

 

1) 가수(mantissa), 밑수(radix), 지수(exponent) 3개의 부분으로 이루어진다.

 

m*r^e

 

-0.001101*2^2   -> -1.101*2^-1   (정규화)

 

지수 -1 인데 바이어스된 지수를 써야하므로 127 더해준다

 

cf. 바이어스된 지수를 쓰는 이유는 음의 지수를 나타내기 위함이다 .

 

-1+127 = 126

 

따라서 실수표현은

 

1                01111110   101000000000000000000000 이다.

최상위비트  지수(126)   가수

 

 

2) 실수 덧셈 뺄셈

 

작은 지수를 큰 지수에 맞춰 통일하고 가수를 더하고 정규화 시킨다.

 

이때 가수 부분의 자리가 부족해 가수의 일부분이 절단되는 오류를 라운드 오프 오류라고 한다.

 

 

 

 

'이론 > 컴퓨터개론' 카테고리의 다른 글

프로그래밍 언어  (0) 2015.09.26
운영체제  (0) 2015.09.26
컴퓨터 구조  (0) 2015.09.26
부울대수 논리회로  (0) 2015.09.26
수의체계  (0) 2015.09.26
블로그 이미지

종환 Revolutionist-JongHwan

github.com/alciakng 항상 겸손하자.

댓글을 달아 주세요