By writing a whole new one without considering the 20%. It's also missing a lot of features compared to the old one. (Features that may not matter to everyone, granted, but I found that there were more things that weren't there for my typical uses than ones that were.) Installing the old calculator[1] isn't much of a problem, though - although you do need to pin it to make it easily accessible without finding yourself opening the new uselessness accidentally about 50% of the time.
If I had to take a first guess since 1e10000 is an overflow in the current version therefore x = 1e9999 is the last valid 10^x input. If that holds true my guess would be someone added a check for that input but did it as "5 or more digits" rather than "10,000 or more".
My second guess is they are using some weird algorithm that hits an error case due to the limits of whatever number type they are using.
What’s even more bizarre is how often they update the Win10 calculator app from the Windows store. Never had any idea that a calculator would need bi-weekly updates, but shrug
if only the source code were publicly available, then the real problem could be realized, patches proposed, etc. enjoy waiting on microsoft to patch it, they're probably too busy 'loving open source.'
You think that's bad? I once reported a bug in Apple's calculator in OS X, and it was fixed by the next release.
If you started out with a cleared calculator with default settings and computed 14479.14 - 152.36 you got 14326.78.
If you started out with a cleared calculator with default settings and computed 1143/78, and then computed 14479.14 - 152.36, you got something like 14326.779999999999.
The number of people on forums who completely missed the point and lectured me, often rather condescendingly, on how neither 14479.14 nor 152.36 are exactly representable in finite binary floating point and so that is why the subtraction was not exact was astonishing.
The bug is not that the subtraction is inexact. The bug is that the same subtraction result was displayed with different rounding depending on whether it was done immediately after a clear or done after computing 1143/78.
How 14479.14 - 152.36 displays should only depend on the calculator settings. That it changed depending on previous calculations suggest that there was probably a scratch variable used during calculations that was supposed to be reset before the next calculation but was not.
Speaking of the MacOS calculator, their RPN mode really annoys me (although not as much as Windows 10 calculator which doesn't even have an RPN mode!). Suppose you want to compute (2+3) x 4. The obvious key sequence works: 2 enter 3 + 4 x.
How about (2+3) x pi. The obvious key sequence is: 2 enter 3 + pi x. The result of that is an error beep with pi in the display, or, if you had anything on the stack before you started, that thing multiplied by pi.
That's because rather than pushing pi onto the stack, the pi key replaces whatever is on the bottom of the stack with pi. In other words, instead of acting as if you had hit the keys 3 . 1 4 1 5 9 ... 7 9 3, it acts as if it pops the stack, invokes the function
def pi(x):
return 3.141592653589793
on the value it popped, and pushes the result.
What you have to do is: 2 enter 3 + enter pi x.
Suppose you decide you don't want to have to remember the distinction between the pi key and numerical entry, and decide to just always put in that enter.
So: 2 enter 3 + enter 4 x. That gives you 20 like you would expect...but also leaves a 5 on the stack above that.
For comparison, that does not happen on an HP-15, or on software calculators that follow HP RPN rules, such as pcalc on iOS. On those, when you press enter it duplicates the item currently on the top of the stack, just like Apple's calculator, but it sets a flag that says if you immediately enter a number, that overwrites the top of stack instead of pushing.
This flag was a key thing that made data entry on the HP calculators feel natural.
On the HP-48 they made a significant change to this. When you pressed enter it did not immediately dup the stack and set the flag saying numerical entry should overwrite. Instead, pressing enter did not immediately do anything to the stack. Instead, it set a flag saying that if your next action was to enter a number, first dup the top of stack.
The RPN mode on pcalc lets you select if you want HP-48 stack behavior or classic RPN behavior (it is in advanced settings when you are in RPN mode).
This!!! I've noticed how "forums" (as opposed to reddit-style discussion boards which are moderated) tend to have this sort of "first post!11!!!" behavior. If you look at that user's post history, he or she has contributed, but - also is providing lots, and lots of commentary. And while that commentary is useful, it's not necessarily moving the ball on solving whatever the problem of the day is.
This really stood out to me as well. That kind of response is, for lack of a better word, cringy. "You probably don't need that anyway so ignore the fact that it's broken!" Sure...
The differentiation is neither "digits" nor "significant figures". 10000 throws the "invalid input" error, while 0.00000001 does not. Both of these numbers have exactly one significant figure, and the latter clearly has more digits.
Not fixed for me - I just tried 10^0.43407 and yup, "Invalid Input". And I know I'm up to date because I just came back to find my PC in the middle of updating the other day.
I see this as perfect opportunity for Microsoft to show how they're all open and transparent.
1. Introduce a bug which only 1% would encounter.
2. Wait for it to get noticed.
3. Fix the bug, explain the causes in detail, thank everyone.
4. Profit ;)
Can confirm I have this and I'm on the fastest insider build ring. There seems to be differences between how input is made etc which leads me to think there is something more to it than just "makes the wrong calculation".
I wouldn't trust the windows calculator anyways for anything beyond trivial arithmetic. Use an environment where you have actual control over how the calculations are performed.
This doesn't appear to be only with the 10^x function - the x^y function exhibits the same behaviour (both for x=10 and at the least x=9; I haven't tried many others)
I guess when you are Microsoft you don't have to test software internally since millions will do it for you for free. Also for what it's worth I didn't have any problems with these numbers on `kcalc` in KDE (not that I expected to see it, but worth a shot)
[+] [-] whoopdedo|7 years ago|reply
What's the significance of 43430?
[+] [-] userbinator|7 years ago|reply
What's the significance of 43430?
(XP calc.exe)According to Mathematica,
and likewise, It's off by a tiny bit, but it's round enough to give some hints: 10^x is internally being computed using e^x.Edit: some more interesting, possibly relevant search results for the numbers 43429 and 43430:
https://stackoverflow.com/questions/33515746/why-is-this-c-p...
http://delphiforfun.org/NewsLetters/Nbr32.htm
[+] [-] JdeBP|7 years ago|reply
[+] [-] MrEldritch|7 years ago|reply
Holy crap. How on Earth did they manage to break Windows Calculator, of all things?
[+] [-] stan_rogers|7 years ago|reply
[1] https://winaero.com/download.php?view.1795
[+] [-] amenghra|7 years ago|reply
In both instances, Apple didn't respond to the bug report until many years later, when they just closed it.
[+] [-] zamadatix|7 years ago|reply
My second guess is they are using some weird algorithm that hits an error case due to the limits of whatever number type they are using.
[+] [-] akerro|7 years ago|reply
EDIT: and telemetry.
[+] [-] gnopgnip|7 years ago|reply
[+] [-] archvile|7 years ago|reply
[+] [-] mehrdadn|7 years ago|reply
[+] [-] cup-of-tea|7 years ago|reply
[+] [-] gabriel34|7 years ago|reply
[+] [-] psyklic|7 years ago|reply
[+] [-] craftyguy|7 years ago|reply
[+] [-] urda|7 years ago|reply
> Do you really think it is going to make much difference to the final answer?
Doesn't matter, it should work.
[+] [-] tzs|7 years ago|reply
If you started out with a cleared calculator with default settings and computed 14479.14 - 152.36 you got 14326.78.
If you started out with a cleared calculator with default settings and computed 1143/78, and then computed 14479.14 - 152.36, you got something like 14326.779999999999.
The number of people on forums who completely missed the point and lectured me, often rather condescendingly, on how neither 14479.14 nor 152.36 are exactly representable in finite binary floating point and so that is why the subtraction was not exact was astonishing.
The bug is not that the subtraction is inexact. The bug is that the same subtraction result was displayed with different rounding depending on whether it was done immediately after a clear or done after computing 1143/78.
How 14479.14 - 152.36 displays should only depend on the calculator settings. That it changed depending on previous calculations suggest that there was probably a scratch variable used during calculations that was supposed to be reset before the next calculation but was not.
Speaking of the MacOS calculator, their RPN mode really annoys me (although not as much as Windows 10 calculator which doesn't even have an RPN mode!). Suppose you want to compute (2+3) x 4. The obvious key sequence works: 2 enter 3 + 4 x.
How about (2+3) x pi. The obvious key sequence is: 2 enter 3 + pi x. The result of that is an error beep with pi in the display, or, if you had anything on the stack before you started, that thing multiplied by pi.
That's because rather than pushing pi onto the stack, the pi key replaces whatever is on the bottom of the stack with pi. In other words, instead of acting as if you had hit the keys 3 . 1 4 1 5 9 ... 7 9 3, it acts as if it pops the stack, invokes the function
on the value it popped, and pushes the result.What you have to do is: 2 enter 3 + enter pi x.
Suppose you decide you don't want to have to remember the distinction between the pi key and numerical entry, and decide to just always put in that enter.
So: 2 enter 3 + enter 4 x. That gives you 20 like you would expect...but also leaves a 5 on the stack above that.
For comparison, that does not happen on an HP-15, or on software calculators that follow HP RPN rules, such as pcalc on iOS. On those, when you press enter it duplicates the item currently on the top of the stack, just like Apple's calculator, but it sets a flag that says if you immediately enter a number, that overwrites the top of stack instead of pushing.
This flag was a key thing that made data entry on the HP calculators feel natural.
On the HP-48 they made a significant change to this. When you pressed enter it did not immediately dup the stack and set the flag saying numerical entry should overwrite. Instead, pressing enter did not immediately do anything to the stack. Instead, it set a flag saying that if your next action was to enter a number, first dup the top of stack.
The RPN mode on pcalc lets you select if you want HP-48 stack behavior or classic RPN behavior (it is in advanced settings when you are in RPN mode).
Here's an article on how RPN evolved at HP: http://h20331.www2.hp.com/hpsub/downloads/S07%20HP%20RPN%20E...
[+] [-] mikehollinger|7 years ago|reply
I see the same thing in travel forums frequently.
[+] [-] warent|7 years ago|reply
[+] [-] lukeify|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] excalibur|7 years ago|reply
[+] [-] romwell|7 years ago|reply
If that is true, then 0.00001 is being tread the same as 1, but 12345 and 0.12345 are both considered being "too large".
FWIW, I can't reproduce the bug with my current Windows build (1703 / 15063.296).
[+] [-] psyklic|7 years ago|reply
EDIT: Strangely, now all inputs seem to work, even 0.00001 and even when I restart the calculator. Not sure why ...
[+] [-] mistaken|7 years ago|reply
[+] [-] css|7 years ago|reply
Edit: see comment below
[+] [-] MrEldritch|7 years ago|reply
[+] [-] excalibur|7 years ago|reply
[+] [-] zamadatix|7 years ago|reply
[+] [-] laacz|7 years ago|reply
1. Introduce a bug which only 1% would encounter. 2. Wait for it to get noticed. 3. Fix the bug, explain the causes in detail, thank everyone. 4. Profit ;)
[+] [-] alkonaut|7 years ago|reply
[+] [-] nuclx|7 years ago|reply
[+] [-] askvictor|7 years ago|reply
[+] [-] ddtaylor|7 years ago|reply
[+] [-] Ice_cream_suit|7 years ago|reply
[+] [-] jsilence|7 years ago|reply