컴퓨터도 못하는게 있으니 바로 부동소수점 연산이다.
오죽하면 80386은 실수 연산을 못해서 Co-processor를 두어 별도로 연산하게 설계하였다.
물론 메인 프로세서인 386이 연산해도 되지만, 부하가 너무 걸리기 때문에 Co가 대신하고 그 결과를 받아오는 방식이다.
하물며 열악한 embedded processor는 더 말할나위도 없다.
실수를 표현해보자.
정수를 표현하는것은 할만한데
실수를 표현하는것은 상당히 괴롭다.
계속 해볼필요 없다, 한두번 해보면 된다.
이를 굳이 하는 이유는
아래와 같은 이유 때문이다.
실수의 대소 비교를 해서는 안된다.
실수의 연산결과를 사람이 생각한것과 동일하게 믿으면 안된다.
이는 C 뿐 아니라 다른 언어에서도 마찬가지로 발생한다. 왜냐고 다들 IEEE754 표준을 따르기 때문이다.