포트란이나 C로 숫자계산을 주로 많이 하는데요, 계산을 하다보면 계산기 종류별로 조금씩 다른 연산결과를 보이는 경우가 많은데, 이것의 이유가 뭔가요?
얼마전에도 같은 프로그램으로 서로 다른 CPU (Itanium, Fujitsu SX-8, AMD)들에서 계산을 해봤는데, 모두 오버플로우가 나긴 하는데, 오버플로우로 멈추는 시점은 다들 제각각이더군요.
혹시 이유를 정확히 아시는 고수님들 계시면 좀 가르쳐주세요.
읽기에 편한 수치해석 책을 한번 찾아보세요. 컴퓨터를 이용한 수치계산의 좌절(OTL)을 맛보시길......
------------------ P.S. -------------- 지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
그야 하드웨어나 소프트웨어적으로 예외 처리하는 것이 서로 다르기 때문이겠지요.
제가 보기엔 모두 오버플로우가 났다면 모두 같은 결과를 보인 것 같네요. 그 시점이 모두 같을 수는 없는 겁니다.
혹여 같은 계산을 같은 정밀도로 했는데 결과(오버플로우는 나지 않음)가 다르면 문제가 있겠죠. 이런 경우는 부동 소수점 표현 형식의 차이나 소프트웨어 또는 하드웨어적 결함이 원인일 겁니다.
윗 글 제가 썼습니다. 로긴을 잊었네요.
Orion Project : http://orionids.org
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
읽기에 편한 수치해석 책을 한번 찾아보세요.컴퓨터를 이용한 수치계산
읽기에 편한 수치해석 책을 한번 찾아보세요.
컴퓨터를 이용한 수치계산의 좌절(OTL)을 맛보시길......
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
Re: CPU종류별로 연산결과가 다른데요.
그야 하드웨어나 소프트웨어적으로 예외 처리하는 것이
서로 다르기 때문이겠지요.
제가 보기엔 모두 오버플로우가 났다면 모두 같은 결과를
보인 것 같네요. 그 시점이 모두 같을 수는 없는 겁니다.
혹여 같은 계산을 같은 정밀도로 했는데 결과(오버플로우는
나지 않음)가 다르면 문제가 있겠죠. 이런 경우는 부동 소수점
표현 형식의 차이나 소프트웨어 또는 하드웨어적 결함이 원인일 겁니다.
Re: CPU종류별로 연산결과가 다른데요.
윗 글 제가 썼습니다. 로긴을 잊었네요.
Orion Project : http://orionids.org
댓글 달기