컴퓨터에서 실수를 표현하는 방법은 고정 소수점
과 부동 소수점
두가지 방식이 존재한다.
컴퓨터에서는 실수를 정수와 마찬가지로 2진수로만 표현해야 하기 때문에 실수를 표현하는 방법은 정수에 비해 훨씬 복잡하다.
소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식 (정수 + 소수)
3.141592는 부호(+)와 정수부(3), 소수부(0.141592) 3가지 요소 필요함
장점 : 실수를 정수부와 소수부로 표현하여 단순하다.
단점 : 표현의 범위가 너무 적어서 활용하기 힘들다. (정수부는 15bit, 소수부는 16bit)
비트 수 대비 표현 가능한 수의 범위가 낮아 실수를 다룰 필요가 있는 범용시스템에서 사용을 거의 하지 않는다.
지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법이다.
소숫점의 위치가 고정되지않고, 앞에서부터 채우며 남은 뒷자리는 다 0으로 채운다.
실수를 가수부 + 지수부로 표현한다.
- 가수(Fraction) : 실수의 실제값 표현, 부호화된 고정 소수점 숫자
- 지수(Exponent) : 크기를 표현함. 가수의 어디쯤에 소수점이 있는지 나타냄
예) 10진수 +6132.789 를 표기하면, (가수) + .6132789 (진수) +04 ⇒ +0.6132789 * 10^4
부동소숫점으로 바꾸기
이진법 변환
0.34(10)을 컴퓨터에서 사용하기 위해 이진수 0.010101110…(2) 로 변환 할 수 있다.
정규형으로 바꾸기
⇒ 1.0101110… * 2^(-2)
지수부, 초과 표현하기
1.0101110… * 2^(-2)
를 표현하기 위해서는 지수가 -2 이기 때문에 3을 초과시켜 (-2 +3) 1을 적는다.💡 부동소숫점의 특징
장점 : 표현할 수 있는 수의 범위가 넓어진다. (현재 대부분 시스템에서 활용 중)
단점 : 오차가 발생할 수 있다. (부동소수점으로 표현할 수 있는 방법이 매우 다양함)