본문 바로가기

Computer Science

정수와 실수의 표현 방법

컴퓨터에서 수를 표현하는 방법에 대해서 살펴보고자 한다. 컴퓨터에서 사용하는 수는 크게 정수와 실수로 나뉜다.

 

정수

소수점 이하의 값을 갖지 않는 수이다. 정수를 표현하는 방식은 부호 없는 정수(unsigned integer)와 부호 있는 정수(signed integer)로 나눌 수 있다.

 

부호 없는 정수

부호 비트(+, -)가 존재하지 않는다. n비트로 나타낼 수 있는 정수의 범위는 0부터 2n -1까지이다. 예를 들어, 8비트에서 최대 숫자는 11111111, 10진수로 255가 된다. 부호 없는 정수를 표현하기 위해서는 주어진 수를 2진수로 변환한 다음, 변환된 2진수를 주어진 n비트에 채우면 된다.

 

부호 있는 정수

 부호(+, -)를 필요로 하는 정수를 표현할 수 있다. 부호 있는 정수를 표현하는 방법으로 부호화-크기(signed magnitude)방식, 1의 보수(1’s complement) 방식, 2의 보수(2’s complement) 방식이 있다. 양의 정수인 경우 부호 비트의 유무를 제외하면 어떠한 정수 표현 방식에서든 동일한 형태로 표현되며, 최상위 1비트가 부호 비트로 사용된다는 공통점이 있다.

 

부호화-크기 방식

 최상위 비트를 부호 비트로 사용하여, 0이면 양의 정수, 1이면 음의 정수로 표현한다. 나머지 비트로는 실제로 표현하려는 수의 절대값을 2진수로 표현한다. 예를 들어, 8비트로 15를 표현하려는 경우 최상위 비트는 0이 되고, 나머지 7비트는 0001111로 표현되어 결국 15 00001111이 된다. -15의 경우에는 음수이므로 최상위 비트는 1, 결국 -1510001111이 된다.

 

1의 보수 방식

 양의 정수에 대한 음의 정수의 표현이다. 양의 정수 표현은 부호화-크기 방식 표현과 동일하다. 그러나 음의 정수를 표현하기 위해서는 양의 정수에 대한 표현에서 0 1, 10으로 바꿔야 한다. 예를 들어, -151의 보수를 표현하고자 한다. 158비트 이진수로 바꾸면 00001111이 된다. 다음으로 각 비트별로 숫자를 바꾸면 -15에 대한 1의 보수 표현은 11110000이 된다.

 

2의 보수 방식

1의 보수에 1을 더한 표현 방법이다. 예를 들어, -151의 보수 111100001을 더한 값인 11110001-152의 보수 표현이 된다.

 

실수

정수 표현 방식과 달리 부동소수점 방식을 사용하여 표현한다.

 

부동소수점 방식

-1S× M×BE  와 같이 유효숫자를 사용한 곱셈 형태의 과학적 표기법을 바탕으로 수를 표현한다. S는 주어진 수가 0보다 큰지 작은지 나타내는 부호, M은 가수(mantissa), B는 기저(base), E는 지수(exponent)를 의미한다. 실수를 부동소수점 방식으로 컴퓨터에서 표현하기 위해 사용되는 기저는 2이기 때문에 부호, 가수, 지수를 2진수로 바꿔 표현한다. 부호는 0또는 1을 사용하고, 가수는 부호를 제외한 부분을 부호 없는 정수 방식으로 저장한다. -5.678×10-10  의 경우 음수이므로 부호는 1, 가수는 5.678, 기저는 10, 지수는 -10이 된다.

 

초과표기법

 실수의 부동소수점 표현에서 지수 부분을 표현하기 위한 방법으로 사용된다. 지수는 양수 또는 음수가 될 수 있으며, 부호 비트를 별도로 사용하지 않고 부호와 함께 값을 표현하기 위해 초과표기법을 사용한다. 주어진 값을 초과표기법으로 해석하기 위해 N비트가 할당된 경우 2N-1  또는 2N-1-1  을 매직 넘버(magic number)로 지정한다. 주어진 지수값에 지정된 매직 넘버의 값을 더해서 주어진 N비트에 맞도록 2진수로 변환한다. 예를 들어, 10진수 68비트 2진수 초과표기법으로 나타내고자 할 때, 6에 매직넘버 127을 더한 후 그 결과를 8비트 2진수로 변환하면 결과는 10000101이 된다.

 

정규화

가수를 표현할 때는 표준화된 형식이 필요한데 소수점의 위치에 따라 가수의 형태가 달라질 수 있으므로 정규화 과정을 거친다. 소수점 바로 왼쪽에 오직 하나의 1만 있도록 소수점의 위치를 조정하는 과정이다. -1010.00110011×23  -10.1000110011×25  는 같이 표현될 수 있는데 이를    -1.01000110011×26  로 표현한다.

 

 

References

컴퓨터과학개론 / KNOUPress, aladin.kr/p/gWrFz

 

컴퓨터과학개론 (워크북 포함)

o 방송통신대학교 대학교재 구매 전 참고 사항BR BR - 워크북은 기본교재의 별책부록으로 별도 판매 불가하며, 워크북 없이 교환/반품 또한 불가합니다.BR - 2018학년도 1학기부터 재사용 과목의 교

www.aladin.co.kr

반응형