Home

Long-Term Road Tests

Daily updates on our fleet of cars and trucks

2009 Honda Fit: Time for Maths Camp

Quick! Math nerds, what's 133.76 - 100.47 ?

maths1.jpgQUICK!

 


maths2.jpgGot it?

You sure...

Click on to check your answer

Wrong!

 

maths3.jpgYou suckers probably thought it was 33.47. Not even close, goober! It's 33.469999. How do I know? Because the 2009 Honda Fit and its built-in calculator told me so.

Our resident nerds can't explain this, so if you've got an in at a calculator factory, please, give me the low-down, but what I do know is this: I don't want this computer in charge of giving me my change at the supermarket. (What would I do with $0.000001?)

All that over complication of simple subtraction aside, this is a pretty neat feature that has some extra goodies like automotive measurement calculators and some other handy features if you're stuck in a remote area of Vermont and all of the signs are in metric and need to know how many more kilometers your car will go on a liter of petrol.

Mike Magrath, Vehicle Testing Assistant and Maths Fact Checker

Categories:

23 Comments

alex4515 says:

05:42 AM, 11/ 9/09

Your math breakdown does not match your original question ("Quick! Math nerds, what's 133.76 - 100.47 ?" to which the answer would be 33.29). But anyway, that would be annoying and it's hard to believe that something basic like a calculator function could not be executed property. Pioneer is the manufacturer of the OEM nav system, right?

billt9 says:

06:17 AM, 11/ 9/09

omg basic calculator failz lololol

dwhamman says:

06:25 AM, 11/ 9/09

looks like a basic programming error. Certain programming languages have seemingly bizarre ways of storing numbers, so the outputs have to be specially formatted to avoid issues like this.

creeper says:

06:44 AM, 11/ 9/09

using the numbers in the photos, i could argue that the calculator is correct. the question is: Is 0.9999999999999999... = 1? the answer, is yes. we all learned that 1 ninth (1/9) is 0.111111... and 2/9 is .2222222... and so on. thus nine ninths (9/9) would be 0.99999999... but we also learned that any time the numerator and the denominator are the same that it is equal to 1. so, math nerds, the calculator fails to distinguish these fourth grade math lessons. just round up.

jefe2000 says:

06:48 AM, 11/ 9/09

Floating point arithmetic in computers is not an exact science. The way that floating point numbers are represented internally in computers is inexact, at best. As a result, the math performed on these numbers is also inexact. Everything dealing with floating point in a computer is an approximation. Thus the puzzling answer given by the calculator.

I'd give more computer science-y details, but I'm afraid that I've already put everyone to sleep. Maybe I should have thrown a Megan Fox analogy in there somewhere. :-]

carguy622 says:

06:55 AM, 11/ 9/09

Should be 33.29. You got it wrong too. ;)

sm42 says:

07:30 AM, 11/ 9/09

jefe2000 -
I think the analogy your looking for has to do with the junk left if you don't trunk your variable.

wable says:

08:00 AM, 11/ 9/09

@ jefe2000 beat me to it.

MS Excel does crap like this all of time

hurls65 says:

08:37 AM, 11/ 9/09

If this is the same as the one in some Acuras (as it looks to be), I always liked the fuel economy converter, just for giggles to see my consumption in liters per 100 km

wrinklebump says:

08:38 AM, 11/ 9/09

fortran says:

08:49 AM, 11/ 9/09

As jefe2000 said, this is a classic example of floating point math in computers. Much of the problem comes from the fact that it is impossible to represent 0.1 in binary (or, in fact, any fraction p/q where q is not a power of 2).

Thus, the usual example of comparing two reals as you do here, none of the three numbers can be represented exactly in binary, so, quite often, you get the oddity that x+y doesn't equal z=(x+y). This is also why you need to get used to comparing reals not by equality but by seeing if their difference is less than a threshold: |x+y-(z)| < 1e-6.

You also find the associative {(a+b)+c = a+(b+c)} and distributive {(a+b)*c = a*c+b*c} properties don't hold true with floating point math.

stephen987 says:

09:24 AM, 11/ 9/09

Maybe this explains why the Fit's mpg meter is off by about 10%.

e90_m3 says:

09:45 AM, 11/ 9/09

OMG NERD ALERT!!!
Your friendly neighbor who has two engineering degrees

auto4fun says:

10:24 AM, 11/ 9/09

jefe2000 and fortran are correct. If you'd like to learn more about it you can read this article:
http://www.techradar.com/news/computing/why-computers-suck-at-maths-644771

prince34 says:

10:47 AM, 11/ 9/09

fortran nailed it. Anything that cannot be exactly represented as a summation of powers of 2 is impossible to represent on a computer.

billt9 says:

12:10 PM, 11/ 9/09

doesn't matter how the computer internally represents it.
By the time it hits the display screen to interact with the human, it should have hit a round() or trunc() and displayed it right.

$1 Made in China calculator can do it.
Still a goof regardless of what the computer's internal computing does.

billt9 says:

12:22 PM, 11/ 9/09

This programmer massive failz Intro to Computer Science 101 first week project.
Like omg he needs additionaly tutoring.
Go to the prof's office and seek help. Ask for 1 week deadline extension.

estreka says:

01:18 PM, 11/ 9/09

Despite Fortran's explanation, I'm not convinced. I've never heard of a calculator that had this error. It's my understanding that calculators convert from binary to decimal prior to calculations being performed.

Is the calculation error repeatable?

vt8919 says:

01:22 PM, 11/ 9/09

Oh come on, Vermont ain't that bad! You have to shoo away the hippies with a broom but otherwise it's a nice state.

subaru123 says:

03:33 PM, 11/ 9/09

My Tribeca has a calculator and it can convert PSI to Kilopascals; not that you would ever need that. It also has F to C, and others but it does round unlike the fit.

audiftw says:

04:01 PM, 11/ 9/09

estreka: fortran's explanation is completely correct. Here's an example of a calculator that has this error: http://www.amazon.com/review/R39056TFUDL65M/ref=cm_cr_pr_viewpnt#R39056TFUDL65M

There's no real way for a calculator to "convert from binary to decimal."

eblock2 says:

05:43 PM, 11/ 9/09

Yeah but it doesn't change the fact using floating-point arithmetic in a calculator application is pretty lazy. Imagine if your bank used a calculator like that.

saranghae1314 says:

05:27 PM, 11/13/09

This is sooo cool!

Add a comment

Advertisement

Latest Poll

Has reading the Long-Term Road Test Blog helped in your car purchasing decisions?

Recent Posts

Advertisement

Tip the Editors

Got a breaking news tip for the Inside Line editors?

Send it to tips@edmunds.com

Awards

min's Best of the Web award

Past Vehicles

Browse Archives