4

I ran a test on my graphing calculator to check for floating point error, and after forty eight hours of complete and utter randomness, the calculator had not lost a single digit of precision.

How does TI pull this off?

dgund
  • 3,459
  • 4
  • 39
  • 64
  • 2
    Can you give an example of "complete and utter randomness"? What are you comparing against? – Oliver Charlesworth Feb 29 '12 at 00:50
  • It's not a literal statement. Sorry if everything on here is meant to be taken exactly literally; I didn't intend to impair the point of the question with a little bit of silliness, nor did it. –  Feb 29 '12 at 01:00
  • I'm asking for an example of what you were trying; at the moment your question has zero information content. How can we possibly answer without knowing the context? – Oliver Charlesworth Feb 29 '12 at 01:03
  • I quote: "I ran a test on my graphing calculator to check for floating point error, and after forty-eight hours..." Isn't that enough? That tells you that: 1) I ran a test for floating point error. 2) It lasted for 48 hours. Now, let's look at the question: "How are the TI operating systems coded not to have floating point error?" Isn't it answerable now? –  Feb 29 '12 at 01:09
  • 2
    No, because you haven't told us anything about that test, i.e. what operations it consisted of, nor how you were verifying the results. – Oliver Charlesworth Feb 29 '12 at 01:10
  • Yeah, it is. Because you don't need to check my work. My question, I repeat: "How are the TI operating systems coded not to have floating point error?" I really don't even NEED body text. The question is self-explanatory! Anyone could answer it without any more details, so long as they know the answer. –  Feb 29 '12 at 01:12
  • I give up. You asked a shoddy question, and you got my downvote. Let's leave it at that. – Oliver Charlesworth Feb 29 '12 at 01:13
  • I don't understand why not adding irrelevant details made it shoddy, but okay. You're entitled to an opinion, I suppose. –  Feb 29 '12 at 01:16

1 Answers1

5

The TI-89 and TI-92 avoid error by using symbolic computation to store values exactly.

Actual floating-point computations ("approx" mode on the 89/92) do have errors. They're just harder to notice because the TI calculators display fewer digits than they store. Also, they use decimal instead of binary.

For example, if you enter the expression 1/3*3-1 on a TI-89 in "approx" mode, you get the answer ⁻1.ᴇ⁻14 instead of the 0 you get in exact mode. Internally, the calculation is done as follows:

  • 1/3 gives 0.33333333333333, rounded to 14 significant digits.
  • Multiplying by 3 gives 0.99999999999999. Because of rounding, this displays as 1.
  • Subtracting 1 gives -0.00000000000001, or -1e-14.
dan04
  • 87,747
  • 23
  • 163
  • 198