# Varning för Windows 10 kalkylator!
Author: Jalking

Som i stort sett allt annat i Windows 10 så kör Microsoft med egna regler.  Inte ens sedan århundraden vedertagna regler för hur matematik fungerar kunde låta bli att pilla på.  
Öppna kalkylatorn i Windows 10.  
Slå in 5x5 + 5x5.  
Microsoft har bestämt att det ska bli 150.  
Resten av den civiliserade världen får det till 50!  
(Du kan givetvis testa med andra siffror)  
Det här kan ju ställa till hur stora problem som helst för den som är dum nog att lita på Windows.

Min fysiska räknedosa räknar rätt.  
Min Androidtelefon räknar rätt.  
Kalkylatorerna i mina Linuxdatorer räknar rätt.  

Ännu ett skäl till att slänga ut Windows ur datorn.

## Comment 1
Author: Taggeman

Tur att man har Windows 7 för där blir det 50.

## Comment 2
Author: JonasDuregard

#0 Har du provat i scientific mode?

Har inte själv testat, men jag gissar att de valde att göra standardläget som klassiska miniräknare, med ett ackumulerande resultat där operationer man utför alltid har nuvarande värde som vänsteroperand. Så inmatningen 5x5+5x5 räknas som ((5x5)+5)x5.

## Comment 3
Author: JonasDuregard

#0 "**Ännu ett skäl till att slänga ut Windows ur datorn.**"

Och byta till vad? Ett operativsystem som inte har buggar och alltid beter sig som man väntar sig? Lycka till 🙂.  

Bjuder på en snarlik bugg i Linux:  
https://bugs.launchpad.net/ubuntu/+source/gnome-calculator/+bug/1210607

## Comment 4
Author: Kaj

Funkar finfint för mig med Win 10s kalkylator - svaret blev 50  
men jag använde avancerat läge  
5x5+5x5 Svaret belv 50

![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)

## Comment 5
Author: johan

Om den visar resultat efter du skriver är det ju inte konstigt. 5x5+ visar nu 25 5x visar nu 30 5= visar nu 150 Om du har ett läge där du kan skriva klart hela beräkningen och exekvera den först vid = blir det rätt.

## Comment 6
Author: _Fisken

Den räknar rätt. Däremot använder den _Reverse Polish notation (RPN)._  Du anger operanderna först. Sen operatorn.  Exempelvis, uttrycket 5\*5 skriver du med RPN  först in 5orna, sen multiplikationssymbolen.

Laddar du ner en mer avancerad kalkylator till din telefon brukar du kunna ställa in den för RPN eller traditionell inmatning. 

Det har att göra med att spara in på knapptryckningar och spara minne i datorer etc.  Du kan troligtvis ställa om Win10:ans miniräknare så den använder vårt traditionella sätt att mata in beräkningar.

https://sv.wikipedia.org/wiki/Omvänd\_polsk\_notation

## Comment 7
Author: JonasDuregard

#6 Nej, det här har inte med RPN att göra, 5x5 + 5x5 är inte ett giltigt RPN-uttryck, det skulle inte ge 150 som resultat (det skulle möjligen ge 50 eller 5 om man ignorerar syntaxfelen).

Den korrekta förklaringen kan du läsa i #2 (och igen i #5), det har med operatorprioritet/associativitet att göra,  inte infix/postfix.

## Comment 8
Author: _Fisken

Det står 150 i #0.  Du kanske skrev fel.

## Comment 9
Author: JonasDuregard

#8 ja, ändrat.

## Comment 10
Author: Kaj

#0  
Precis som #2 skriver så räknar den rätt. i klassiskt läge kommer den (ska den ) tolka din ekvation enligt nedan (eftersom du inte använder några parenteser)  
5\*5 (=25)  
+5 (=30)  
\*5 (=150)  
  
Den tolkar alltså din ekvation så här 5\*5   + 5     \*5 i en följd där varje operand beräknas en och en från vänster till höger - alltså blir svaret helt rätt 150  

Använder du däremot den avancerade räknaren så kommer talet bli 50 för den förutsätter parenteser runt de båda talen 5\*5 och 5\*5  
Det avancerade läget tolkar alltså din ekvation så här (5\*5)+(5\*5) - alltså blir svaret där 50

Så inga fel hos Microsofts räknare utan man måste förstå lite matematik och hur operander beräknas annars blir det fel - SISU

Men det är ju tydligen alltid kul att skylla Microsoft för allt skit här i världen oavsett om det är rätt eller fel.
