Windows Taschenrechner rechnet falsch
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Windows Taschenrechner rechnet falsch
Beim Programmieren bzw. prüfen von Werten hat Microsoft meine Mathekenntnisse erstaunlich in Frage gestellt.
1 Schritt vom ADU sind Vref / 4096 (12 Bit Wandler)
Also 3,3V / 4096 = 0.0008056640625µV pro Aduschritt
Bei 2048 Steps sind das dann 0.0008056640625*2048 = 1,65 Volt
Dann schiebe ich einen Offset drauf von 20mV
0,02 + 0.0008056640625 * 2048 = 1,67V
Ich hab das grad mit dem Windows Taschenrechner ausgerechnet:
und nun, man staune, kommt: 42.61 Volt raus
Da kommt man doch wirklich ins grübeln......
Also nochmal 0,02 + 0,0008 * 2048 gerechnet: 42.5984
Bin ich jetzt völlig verblödet ??????
Der Taschenrechner macht das falsch.
Er missachtet Punkt vor Strich Rechnung.
Nun wollte ich es in Klammern setzen, aber es gab keine Klammern, da der Rechner auf "Standard" stand.
Also habe ich ihn auf "wissenschaftlich" umgestellt.
Und dann neu gerechnet
0,02 + (0,0008*2048) = 1.6584 stimmt
dann nochmal ohne Klammern
0,02 + 0,0008*2048 = 1.6584 stimmt auch, häää, jetzt geht es
Zurück auf "Standard" gestellt, dann geht es wieder nicht mehr.
Das ist schon merkwürdig.
Der Windows Rechner macht es nur falsch, wenn er im Standard Modus arbeitet.
Beim googeln musste ich nun feststellen, dass es tatsächlich nicht funktioniert,
ich bin ERSCHÜTTERT.......
Ich hab das Problem beim Windows 8.1 ebenso wie bei Windows 10 Rechner.
Glücklicherweise macht mein alter Tischtaschenrechner es richtig. Ist halt Casio und kein Windoof.
2 + 3 * 7 = 23 normalerweise
Windows = 35 im Standard Modus
Windows = 23 im Wissenschaftlich Modus
Also Vorischt !!!!
1 Schritt vom ADU sind Vref / 4096 (12 Bit Wandler)
Also 3,3V / 4096 = 0.0008056640625µV pro Aduschritt
Bei 2048 Steps sind das dann 0.0008056640625*2048 = 1,65 Volt
Dann schiebe ich einen Offset drauf von 20mV
0,02 + 0.0008056640625 * 2048 = 1,67V
Ich hab das grad mit dem Windows Taschenrechner ausgerechnet:
und nun, man staune, kommt: 42.61 Volt raus
Da kommt man doch wirklich ins grübeln......
Also nochmal 0,02 + 0,0008 * 2048 gerechnet: 42.5984
Bin ich jetzt völlig verblödet ??????
Der Taschenrechner macht das falsch.
Er missachtet Punkt vor Strich Rechnung.
Nun wollte ich es in Klammern setzen, aber es gab keine Klammern, da der Rechner auf "Standard" stand.
Also habe ich ihn auf "wissenschaftlich" umgestellt.
Und dann neu gerechnet
0,02 + (0,0008*2048) = 1.6584 stimmt
dann nochmal ohne Klammern
0,02 + 0,0008*2048 = 1.6584 stimmt auch, häää, jetzt geht es
Zurück auf "Standard" gestellt, dann geht es wieder nicht mehr.
Das ist schon merkwürdig.
Der Windows Rechner macht es nur falsch, wenn er im Standard Modus arbeitet.
Beim googeln musste ich nun feststellen, dass es tatsächlich nicht funktioniert,
ich bin ERSCHÜTTERT.......
Ich hab das Problem beim Windows 8.1 ebenso wie bei Windows 10 Rechner.
Glücklicherweise macht mein alter Tischtaschenrechner es richtig. Ist halt Casio und kein Windoof.
2 + 3 * 7 = 23 normalerweise
Windows = 35 im Standard Modus
Windows = 23 im Wissenschaftlich Modus
Also Vorischt !!!!
Zuletzt geändert von siro am Sa 14. Jul 2018, 08:02, insgesamt 1-mal geändert.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Re: Windows Taschenrechner rechnet falsch
Nicht immer Windows die Schuld geben. Wie jeder andere (einfache) Taschenrechner, rechnet auch der von Windows der Reihe nach und berücksichtigt nicht die Priorität der Operatoren. Für das richtige Ergebnis ist es am einfachsten, die Reihenfolge der Summanden umzudrehen: also zuerst 0.0008566*2048 berechnen und dann 0.02 addieren. (Aber das hast du ja schon geschrieben)
Klammern werden (umständlich) über die Speicher-Funktion gesetzt: "MC" > "0,02" > "M+" > "0,00080566" > "*" > "2048" > "=" > "M+" > "MR"
So war das halt vor 40 Jahren, als ein Taschenrechner noch ein Wunderwerk war. Die jungen Leute heute können wahrscheinlich auch nicht mehr mit einem Rechenschieber umgehen und mit der Logarithmentafel.
Klammern werden (umständlich) über die Speicher-Funktion gesetzt: "MC" > "0,02" > "M+" > "0,00080566" > "*" > "2048" > "=" > "M+" > "MR"
So war das halt vor 40 Jahren, als ein Taschenrechner noch ein Wunderwerk war. Die jungen Leute heute können wahrscheinlich auch nicht mehr mit einem Rechenschieber umgehen und mit der Logarithmentafel.
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Windows Taschenrechner rechnet falsch
Dies ist auch gut so, die meisten Leute rechnen von links nach rechts.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 206
- Registriert: Di 10. Nov 2009, 18:49
- OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
- CPU-Target: 32Bit/64bit
Re: Windows Taschenrechner rechnet falsch
Mathias hat geschrieben:Dies ist auch gut so, die meisten Leute rechnen von links nach rechts.
Ich habe die Punkt-vor-Strich Regel so verinnerlicht, dass ich nie im Leben darauf gekommen wäre, das so zu machen und finde es ziemlich katastrophal, es nicht so zu machen. Meiner Meinung nach verursacht das mehr Probleme als gelöst werden. Aber erstmal Danke für den Hinweis. Da wäre ich im Leben nie drauf gekommen.
MiSchi macht die fink-Pakete
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Windows Taschenrechner rechnet falsch
Du bist auch Programmierer, aber frage mal deine Eltern oder Arbeitskollegen.
Die wissen zum teil nicht mal was Multiplizieren heist. Bei denen heist es einfach mal.
Die wissen zum teil nicht mal was Multiplizieren heist. Bei denen heist es einfach mal.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Windows Taschenrechner rechnet falsch
Mathias hat geschrieben:Dies ist auch gut so, die meisten Leute rechnen von links nach rechts.
Um Gottes Willen!
Damals war Speicher rar, und ein Rechner, der mehr als ein paar Register zum Zwischenspeichern hatte, war schon eine Sensation. Daher hat man notgedrungen von links nach rechts gerechnet, also das Ergebnis einer Operation als linken Operand der folgenden Operation genommen. Und wenn man das wusste, konnte man damit trotzdem richtig rechnen (eben wie oben erwähnt die Reihenfolge umstellen) - ich habe das so verinnerlicht, dass ich eben völlig überrascht war, dass mein alter Casio tasächlich Punkt vor Strich kann.
Aber wenn Menschen von links nach rechts rechnen, weil sie es nicht anders WISSEN! Wo ist unsere vielgepriesene Kultur hin?
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Windows Taschenrechner rechnet falsch
Wen ich dies her lese, können unsere Eltern das gar nicht wissen.
https://www.gutefrage.net/frage/seit-wa ... rich-regel
https://www.gutefrage.net/frage/seit-wa ... rich-regel
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Windows Taschenrechner rechnet falsch
Ich kann nicht glauben, dass das ein ernsthafter Text ist. In Wikipedia steht das Gegenteil: "Erst in der Neuzeit entwickelte sich die kürzere formelhafte Darstellung mathematischer Sachverhalte mit Zahlen, Bezeichnern und Operatoren. Dabei scheint die Regel „Punkt vor Strich“ von Anfang an vorausgesetzt worden zu sein. Bei René Descartes finden sich Schreibweisen wie z z = a z + b b , die sowohl, wie auch heute noch üblich, den Multiplikationsoperator einfach weglassen (Juxtaposition) als auch davon ausgehen, dass die Multiplikation Vorrang vor der Addition hat."
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Windows Taschenrechner rechnet falsch
Die Bezeichnung Stric vor Punkt kann nicht so sehr alt sein.
Vor gar nicht so langer Zeit hat man eine Multiplikation so geschrieben: 3 x 4
Vor gar nicht so langer Zeit hat man eine Multiplikation so geschrieben: 3 x 4
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2640
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Windows Taschenrechner rechnet falsch
Ach Mathias, *seufz*.
Punkt vor Strich.
Der Punkt für die Multiplikation wurde eingeführt von Leibniz, belegt ab 1698.
Mathias hat geschrieben:Die Bezeichnung Stric vor Punkt kann nicht so sehr alt sein.
Punkt vor Strich.
Mathias hat geschrieben:Vor gar nicht so langer Zeit hat man eine Multiplikation so geschrieben: 3 x 4
Der Punkt für die Multiplikation wurde eingeführt von Leibniz, belegt ab 1698.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Windows Taschenrechner rechnet falsch
m.fuchs hat geschrieben:Der Punkt für die Multiplikation wurde eingeführt von Leibniz, belegt ab 1698.
Ich könnte mir vorstellen, dass das nicht weltweit eingeführt ist. Ich weiß sicher, dass die Leute in USA auf jeden Fall das "x" verwenden. Und wahrscheinlich auch die Schweizer (die haben ja auch einen Dezimalpunkt wie die Amerikaner, statt eines Dezimalkommas wie die Deutschen)
-
- Beiträge: 1911
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Windows Taschenrechner rechnet falsch
Um ehrlich zu sein habe ich das verhalten genau so erwartet. Auf standard rechnet der Rechner immer auf zwischenergebnis basis, kann also nur 1 operator gleichzeitig betrachten.
Wenn das nicht ausreicht gibt es den Wissenschaftlichen modus, bei dem man Formeln angeben kann, die werden dann auch korrekt evaluiert.
Ich finde das ist auch kein sonderlich großes Problem, da selbst im wissenschaftlichen Modus der Taschenrechner für Formeln recht beschissen ist, und es viel bessere alternativen gibt (z.B. google rechner). Es ist auch nicht so das der Taschenrechner das vor einem verheimlicht, im standard modus wird das zwischenergebnis nach jedem schritt ausgegeben, und jede operation die man daraufhin macht rechnet dann mit dem zwischenergebnis. Im wissenschaftlichen Modus hingegen bekommt man kein Zwischenergebnis. Das einzige was das ganze eventuell etwas verwirrend macht ist die Tatsache das im Standardmodus oben immer die vollständige Formel steht, und das ist natürlich etwas irreführend.
Wenn das nicht ausreicht gibt es den Wissenschaftlichen modus, bei dem man Formeln angeben kann, die werden dann auch korrekt evaluiert.
Ich finde das ist auch kein sonderlich großes Problem, da selbst im wissenschaftlichen Modus der Taschenrechner für Formeln recht beschissen ist, und es viel bessere alternativen gibt (z.B. google rechner). Es ist auch nicht so das der Taschenrechner das vor einem verheimlicht, im standard modus wird das zwischenergebnis nach jedem schritt ausgegeben, und jede operation die man daraufhin macht rechnet dann mit dem zwischenergebnis. Im wissenschaftlichen Modus hingegen bekommt man kein Zwischenergebnis. Das einzige was das ganze eventuell etwas verwirrend macht ist die Tatsache das im Standardmodus oben immer die vollständige Formel steht, und das ist natürlich etwas irreführend.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Windows Taschenrechner rechnet falsch
>> rechnet auch der von Windows der Reihe nach und berücksichtigt nicht die Priorität der Operatoren
Das ist so pauschal falsch.
Im Standardmodus rechnet der Rechner der Reihe nach wie man es eingibt.
Im wissenschaftlichen Modus wird Punkt vor Strich beachtet.
Und das war schon im letzten Jahrhundert so.
Das ist so pauschal falsch.
Im Standardmodus rechnet der Rechner der Reihe nach wie man es eingibt.
Im wissenschaftlichen Modus wird Punkt vor Strich beachtet.
Und das war schon im letzten Jahrhundert so.
Re: Windows Taschenrechner rechnet falsch
Timm Thaler hat geschrieben:>> rechnet auch der von Windows der Reihe nach und berücksichtigt nicht die Priorität der Operatoren
Das ist so pauschal falsch.
Im Standardmodus rechnet der Rechner der Reihe nach wie man es eingibt.
Im wissenschaftlichen Modus wird Punkt vor Strich beachtet.
Und das war schon im letzten Jahrhundert so.
Die ganze Diskussion in diesem Thread geht aber über den Standard-Modus.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Windows Taschenrechner rechnet falsch
Dann kauf Dir mal 20 dieser Billigrechner für 5 Eur, und dann kannst Du Dich bei 20 Herstellern beschweren, dass die falsch rechnen. Die machen das nämlich alle so, und der Windows-Rechner bildet diese Nicht-Funktionalität nach.
Faustregel: Alles was maximal Wurzelfunktion hat, kann keine Punkt-vor-Strich. Hat es erweiterte Funktionen wie x^y, sin, cos, lg, ln, kann es auch Punkt-vor-Strich. Dazu muss es keine Klammern haben, siehe SR1.
Oder einfach: Know your tools!
Faustregel: Alles was maximal Wurzelfunktion hat, kann keine Punkt-vor-Strich. Hat es erweiterte Funktionen wie x^y, sin, cos, lg, ln, kann es auch Punkt-vor-Strich. Dazu muss es keine Klammern haben, siehe SR1.
Oder einfach: Know your tools!