windows

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ windows ] in KIDS
글 쓴 이(By): Asteau (언젠간학생)
날 짜 (Date): 1998년 8월  7일 금요일 오후 05시 16분 24초
제 목(Title): 황당한 컴퓨터 연산



int a = (int)(4.2f*10);


위 문장을 컴퓨터에서 돌려 봤을때 아주 황당한 결과가 나옵니다.

상식적으로는 42가 나와야 하겠지만, 제 컴퓨터에서는 41이 나와버립니다.

주위의 몇몇 컴퓨터에 대해서도 같은 결과가 나오는 것을 확인했습니다.

참고로 환경은 Intel Pentium에 VC++5입니다.

분명 4.2f*10을 4.19999999... 등으로 착각한 것 같은데 이것이 시스템

(CPU, OS, Compiler 어느 쪽이든)의 치명적인 오류인지, 프로그래머로서

충분히 발생할 수 있다고 보고 신경써야할 동작인지 모르겠군요.

      -------------------------------------------------------------------
      G o n g m u d o h a             公無渡河 公竟渡河 陸河而死 當泰公河
      G o n g k y u n g d o h a       公竟渡河 陸河而死 當泰公河 公無渡河
      T a h a i e s a                 陸河而死 當泰公河 公無渡河 公竟渡河
      D a n g t a e g o n g h a       當泰公河 公無渡河 公竟渡河 陸河而死
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.