Excel 2010 부동 소수점의 추가 사항 순서? 것으로 나타났습니다. 나는 네 개의 숫자의

Excel 2010에 몇 가지 숫자를 입력하고 부동 소수점 문제가있는 것으로 나타났습니다. 나는 네 개의 숫자의 합을 취하여 제로를 기대하고, 대단히 적은 수, 0에 가깝습니다. 나는 “좋아, 부동 소수점 문제, 뭐든간에.”라고 생각했습니다. 그러나 다른 순서로 추가하면 결과 합계가 0으로 나타납니다.

왜 다른 순서로 추가하면 Excel에 영향을 미칩니 까? ? 나는 이것을 기대하지 않았다. 예, 1.13E-13은 매우 작고 0에 매우 가깝습니다. 나는 왜 계산의 차이가 덧셈의 순서에 기초하는지 궁금해.

Excel screenshot

원시 데이터는 다음과 같습니다.

573.7
-144.79
-309.84
-119.07
1.136868E-13    =sum(A1:A4)
0.000000E+00    =A1+A2+A3+A4
1.13687E-13 =A4+A3+A2+A1


답변

귀하가 수식 평가 함수를 사용하면 중간 결과에서 a + b + c + d가 왼쪽에서 오른쪽으로 구문 분석됩니다. 따라서 a + b + c + d는 실제로 ((a + b) + c) + d로 계산됩니다.

즉, 먼저 a + b의 결과가 계산됩니다 ( IEEE754 형식으로 저장 ), 그 결과에 c가 더하기보다.

((a + b) + c) + d가 a + (b + (c + d))와 같지 않기 때문에 왜 결과가 다른지 설명합니다.