Scilab 코드에서 C++로 프로그램을 변환하는 과정에 있으며 Scilab에서 제작 한 결과를 유지 관리해야합니다.다른 언어로 프로그램을 복제하려고하는 경우. 더 정밀도를 사용하는 것이 현명하지 않습니까?
필자는 Scilab이 IEEE 754 배정도를 사용하고 C++이 (꼭 그래도 안되지만) 유사한 방식으로 구현된다는 것을 알고 있습니다.
은 그 다음 높은 정밀도를 사용하는 것은 좋지 않다 (예를 들어long double
) C에서 ++ 내가 정확히 Scilab의 결과와 일치하는 것을 시도하고 있다면? 예
: Scilab 사용 ++ C 반면에 0.1234가되도록 숫자를 계산하는 긴 수가 0.12345 배가 될 것이다 가능한가. 따라서 잠재적으로 두 프로그램을 생성하는 차이를 만들 수 있습니다. 결과가 (C++에서 더 정확하지만).
나는 결코 정확하게 * 동일한 결과를 얻지 못할 것이라고 확신합니다. 하지만 너 정말로 필요해? –
@JesperJuhl 기술적으로 말하면, 결과가 정확할 필요는 없습니다. 문제는 프로그램에 많은 루핑이 있고 초기 루프가 아주 작은 부분 (그것이있는 부분)에 의해 종료되면 최종 차이가 중요해진다는 것입니다. –
최종 차이가 중요하다면 프로그램이 내장 된 부동 소수점이 허용하는 것보다 더 높은 정밀도를 필요로하지 않는다는 뜻입니까? – Galik