부동소수점1 float, double 소수점 아래 계산 오류 float 의 경우 소수점 6자리 밑으로의 소수점은 믿을 수 없다 라고만 알고 있었지만 조금 난감한 문제 에 부딪혔다. matlab 에서 생성된 수를 c로 짜여진 프로그램으로 TCP/IP로 쏘아서 계산을 하여야 하는데, c에서 받은 값은 정상인데 계산을 돌려도 제대로나오지 않는 것이다. 예를 들어보면 === matlab === x = 1: 116; data3 = sin(x*2+3); data4 = sin(x*2 +7); >>data3(116) 을 하면 0.5806 이 나온다. 당연히 이 값은 0.5806 이 아니다. 보여지는 출력형태가 소수점 아래 4자리로 고정 되어 있을 뿐이지 풀어서 보면, >> format('longE') >> data3(116) 5.805866409896447e-01 이라는 수가 .. 2011. 11. 22. 이전 1 다음