- #1

- 260

- 21

- Homework Statement
- Here is some Matlab code:

x = 1;

while (x+1)-x == 1

x = 2*x;

end

x

Explain why it terminates and explain why it outputs: 9.007199254740992e+15.

- Relevant Equations
- matlab, loops

I am confused why this is the case, why would it output that number? When I go through the code, there is (x+1)-1 which does equal 1, then x = 2*x is 2? So why is the output not 2? How should I proceed in coming up with a solution? Does this have something to do with cancellation errors somewhere?