This is about scientific notation, and how Gnome Calculator still doesn’t do it correctly.
So I was checking a simple calculation today, and couldn’t find a proper calculator, so I reached for gnome-calculator on the desktop. That was a mistake.
It seems to think that
8×10¹²÷6×10â¹
comes to
1.333333333×10²¹
which is not correct. It would, if I’d typed it as:
8×1×10¹²÷6×1×10â¹
You can only get the right answer (1333.333…) if you type
(8×10¹²)÷(6×10â¹)
so it’s clear that gnome-calculator isn’t apply the right exponentiation operator precedence when you hit ‘×10y’. It would have been so much better if gnome-calculator supported ‘E’ scientific notation (1.333E21 for 1.333×10²¹).
A bug is filed, but I don’t think I trust it any more. I’m looking at having a proper calculator again, or maybe invest in one of the delightful tiny HP clones from SwissMicros.com.
Almost forgot that I had a barely-used HP 49G in the cupboard. It was barely used because the thing eats AAA batteries. Who knew that Dollarama would have a pair of NiMH AAAs for only $2?
Update, 2021: Use galculator instead. It does the right thing, and supports RPN like a calculator should. You don’t need to remember any precedence rules when you have The Truth.
For 8×10¹²÷6×10⹠is correct 1.333333333×10²¹ is correct!
For (8×10¹²)÷(6×10â¹) or 8×10¹²÷(6×10â¹) is correct 1333.333!
Commutative property baby!
8e12/6e9 has to be of the order 1e3, not 1e21 …
The computer can only do what you tell it to do.
Following standard BIDMAS/BODMAS, and not entering [8×10¹²/(6×10â¹)], that 1.33×10²¹ is correct.
Brackets -> Indices/Order -> *(Divide|Multiply)* -> (Add|Subtract)
Division and multiplication are done in the same step, so it is just the straight order.
gnome-calculator doesn’t have a separate (e/xâ€1â€0â€^) symbol, literally [((8 * 10¹²) / 6) * 10â¹], following BIDMAS
Nah, it’s gnome calculator doing it wrong. Every other calculator with an “EE” or “×10^x” button understands that the × in ‘8×10¹²’ is at the highest precedence, and isn’t the same as typing 8 times 10¹². It’s scientific notation, a shortcut for typing 8000000000000. There’s nothing to take precedence over anything here: there’s just one division operator.
Even my Commodore 64 gets it right:
PRINT 8E12 / 6E9
1333.33333