| [ KAIST ] in KIDS 글 쓴 이(By): guest (guest) <211.177.121.26> 날 짜 (Date): 2003년 4월 20일 일요일 오후 02시 12분 17초 제 목(Title): [q] DSP multiplier 정확도? TMS320C32 DSP 칩을 쓰고 있는 중인데, 1주일을 걸려서 아래와 같은 버그를 잡아냈습니다. printf 문을 쓸 수 없는 열악한 환경과 너무나도 명백한 부분에 오류가 없을 것이라고 생각하고, 다른 부분들을 뒤지고 있어서 버그를 잡는데 시간이 오래 걸렸음. ********** start int ii; float kk; ii = 100; kk = 0.01*((float) ii) + 1.0; ********** end kk = 1.99999988 이 됩니다. 문제는 계산오차가 누적되어 이후 실행에 영향을 크게 미친다는 점. 똑같은 프로그램을 일반 컴퓨터에서 실행시키면 당연히 kk = 2.00000000 이 나오죠. TMS320C32 에 내장된 multiplier가 정확도가 떨어진다는 얘기를 들은 적이 있는데, 이에 대해서 아시는 분 있나요? @ 버그 잡은 소감 1. 믿은 놈 하나도 없네 :( 2. 공돌이 최대 적은 공돌이다 :P |