Bob, Chip and John have correctly explained why 3.55E-15 is the correct
answer, which leaves only the order of operations part of your question.
Joe is mistaken that "the behavior is relatively unpredictable and
potential non-portable across processors". There is a perverse
consistency that has been repeatedly discussed in these newsgroups.
Because most decimal fractions cannot be exactly represented in finite
precision binary, with Excel 97 MS introduced a fuzz factor into
addition/subtraction to try to avoid such questions
http://support.microsoft.com/kb/78113?#XSLTH3196121122120121120120
I agree with Kahan
http://www.cs.berkeley.edu/~wkahan/Mindless.pdf
that introducing this fuzz factor has avoided an easy question at the
expense of much more difficult and confusing questions.
When the final arithmetic operation is effectively a subtraction between
numbers that agree to 15 decimal digits, then Excel will arbitrarily
return zero instead of the exact binary difference, on the assumption
that the difference is the residual of binary approximations. Thus
=-116.33+98.53+17.8
will return 0 on all processors, and
=(-116.33+98.53+17.8)
will return 3.55E-15 on all processors. The difference is that in the
second form the parentheses are viewed as the final operation, instead
of the sum of
-17.7999999999999971578290569595992565155029296875
+17.800000000000000710542735760100185871124267578125
Specifically, the binary approximations to the numbers involved
translate back to decimal as
-116.3299999999999982946974341757595539093017578125
98.530000000000001136868377216160297393798828125
17.800000000000000710542735760100185871124267578125
---------------------------------------------------
0.000000000000003552713678800500929355621337890625
but you can predict the potential size of binary approximation residuals
by using Excel's documented limit of 15 decimal digits, thus you can
view your problem as
-116.330000000000???
98.5300000000000??
17.8000000000000??
--------------------
0.000000000000???
which is consistent with Excel's answer of
0.000000000000003552713678800500929355621337890625
When it is appropriate to round as Joe suggested, then this way of
thinking about the problem may help you to know how many decimal places
you can reliably keep.
Jerry