Windows Taschenrechner rechnet falsch

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben

Windows Taschenrechner rechnet falsch

Beitragvon siro » 11. Jul 2018, 08:42 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 :shock:

Da kommt man doch wirklich ins grübeln......
Also nochmal 0,02 + 0,0008 * 2048 gerechnet: 42.5984 :roll:

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....... :mrgreen:

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 14. Jul 2018, 07:02, insgesamt 1-mal geändert.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
siro
 
Beiträge: 305
Registriert: 23. Aug 2016, 13:25
Wohnort: Berlin
OS, Lazarus, FPC: Windows 7 Windows 8.1 Windows 10 | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 11. Jul 2018, 09:46 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.
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 11. Jul 2018, 12:18 Re: Windows Taschenrechner rechnet falsch

Dies ist auch gut so, die meisten Leute rechnen von links nach rechts.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mischi » 11. Jul 2018, 12:39 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
mischi
 
Beiträge: 204
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 11. Jul 2018, 12:53 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.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 11. Jul 2018, 14:39 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?
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 11. Jul 2018, 15:54 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
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 11. Jul 2018, 16:28 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."
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 11. Jul 2018, 17:00 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
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 11. Jul 2018, 17:34 Re: Windows Taschenrechner rechnet falsch

Ach Mathias, *seufz*.
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
m.fuchs
 
Beiträge: 1963
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon wp_xyz » 11. Jul 2018, 17:50 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)
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon Warf » 11. Jul 2018, 17:51 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.
Warf
 
Beiträge: 964
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon Timm Thaler » 13. Jul 2018, 07:26 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.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon wp_xyz » 13. Jul 2018, 09:48 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.
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon Timm Thaler » 13. Jul 2018, 11:38 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!
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Dies und Das



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried