실수의 표현
컴퓨터에서 실수를 표현하는 방법은 고정 소수점과 부동 소수점 두 방식이 존재한다.
고정 소수점 Fixed Point
소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식으로, 정수와 소수로 이루어져 있다.
장단점
단순하지만, 한정된 비트 수로 인해 표현의 범위가 너무 적어서 활용하기가 힘들다.
부동 소수점 Floating Point
부동 소수점이란 이름 그대로 실수를 표현할 때 소수점의 위치를 고정하지 않는 것을 말한다.
실수를 가수부 + 지수부로 표현한다.
가수부는 실수의 실제 값을 표현하고,
지수부는 가수의 어디쯤에 소수점이 있는지 나타낸다.
즉, 부동 소수점은 지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법이다.
장단점
고정 소수점에 비해 표현할 수 있는 수의 범위가 넓기 때문에 현재 대부분의 시스템에서 활용 중이다.
하지만 오차가 발생할 수 있다는 단점이 있다.
정수를 부동 소수점으로 표현하기
숫자 -314.625를 IEEE 754 부동소수점 방식으로 표현해보자.
부호부
부호를 확인한다. 음수인 경우 1, 양수인 경우 0이므로, 1로 채워준다.
가수부
숫자의 절댓값을 2진수로 표현한다.이 2진수의 소수점을 아래와 같이 왼쪽으로 이동시켜 소수점 왼쪽에 1만 남도록 한다.이때 오른쪽과 같이 표현한 것을 ‘정규화된 표현 방식’이라 한다.
314.625는 2진수로 100111010.101이다.
1.~ 에서 물결 부분을 가수부 23비트의 앞에서부터 채워주고, 남는 자리는 0으로 채운다.
지수부
위의 ‘정규화된 표현방식’에서의 지수 값은 8이다. 이 지수에 bias인 127(=2^(k-1) : k는 지수부 비트수인 8)을 더해준다.
더한 결과 값을 2진수로 변환한다. 즉 다음과 같은 과정이 수행된다.
변환한 2진수 값을 8비트 지수부에 채워준다.
이와 같은 과정을 통해 숫자를 부동소수점으로 변환할 수 있다.
'Computer Science > Computer Architecture' 카테고리의 다른 글
캐시 메모리 Cache Memory (0) | 2023.05.18 |
---|---|
컴퓨터의 구성: 하드웨어와 소프트웨어 (0) | 2023.04.20 |
패러티비트(Parity bit) & 해밍코드(Hamming Code) (0) | 2023.04.15 |
중앙처리장치(CPU)의 작동 원리 (0) | 2023.04.15 |