Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Windows-Taschenrechner-Problem (https://www.delphipraxis.net/160544-windows-taschenrechner-problem.html)

Coffeecoder 18. Mai 2011 16:57

Windows-Taschenrechner-Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP-Community,

Ich will heute mal was zeigen. Einige kennen das sicher schon andere nicht.
Mir ist neulich aufgefallen, dass der Taschenrechner unter Windows XP (Vista, 7 vielleicht auch?) ein kleines Datentyp-Problem hat.

Mathematisch gesehen ergibt: sqrt(4) - 2 = 2 - 2 = 0.
Damit seid ihr alle einverstanden!

Gut jetzt zum Problem :)

Öffnet mal euren Taschenrechner auf dem Windows.
Gebt eine 4 ein.
Zieht die Wurzel mit sqrt.
Und dann minus 2.

Was ist das Ergebnis?
Definitiv nicht 0 :)

Wie ist das zu erklären?
Also man gibt ja ne Integer 4 ein. Dann sqrt macht daraus eine real 2.0.
Jetzt kommt das Problem: 2.0 - 2 wird intern falsch umgewandelt und es kommt eine super kleine Zahl raus die, aber nicht 0 ist.

Jetzt glaubt man nicht mehr alles dem Taschenrechner :)
Unter Mac 0S X und Linux ist diese Rechnung "richtig" und es kommt tatsächlich 0 raus.

Das wars schon :)

DeddyH 18. Mai 2011 16:59

AW: Windows-Taschenrechner-Problem
 
Ich bin gerade nicht unter Windows, aber hast Du das Phänomen auch, wenn Du die Ansicht auf "Wissenschaftlich" umstellst? Ich meine, da mal was gelesen zu haben.

Coffeecoder 18. Mai 2011 17:05

AW: Windows-Taschenrechner-Problem
 
Ja ist auch vorhanden,aber andere "komische" Zahl. Musst aber "tricken" was die Wurzel angeht:

Eingabe:

4
x^y
0.5
=
-
2
=

Ausgabe: 1,0605907030850721689734498566293e-38

sqrt ist wie folgt definiert: x^(1/2)

Muellermilchtrinker 18. Mai 2011 17:06

AW: Windows-Taschenrechner-Problem
 
Also Win 7 Pro x64 Taschenrechner unter wissenschaftlich --> Ergebnis <> 0

Auf meinem HTC mit Android kommt 0 raus. :stupid:

Coffeecoder 18. Mai 2011 17:09

AW: Windows-Taschenrechner-Problem
 
Bei meinem Arbeits-Blackberry auch 0 :)

Culxxaw 18. Mai 2011 17:27

AW: Windows-Taschenrechner-Problem
 
Win7 Ultimate
4 -> Wurzel -> Minus -> 2 -> Gleich -> -1,068281969439142e-19

Wirklich ne verrückte Sache...:stupid:

Muellermilchtrinker 18. Mai 2011 17:36

AW: Windows-Taschenrechner-Problem
 
Zitat:

Zitat von Coffeecoder (Beitrag 1101601)
Bei meinem Arbeits-Blackberry auch 0 :)

Da sieht man doch, dass Handys doch bessere Rechner sind. :mrgreen:

Luckie 18. Mai 2011 17:40

AW: Windows-Taschenrechner-Problem
 
Also in der wissenschaftlichen Ansicht hat der Windows (XP) Taschenrechner gar keine Taste zum Wurzel ziehen. Und dass man einem Taschenrechner nicht blind vertrauen sollte, sollte eigentlich jedem Ingenieur klar sein.

Coffeecoder 18. Mai 2011 17:47

AW: Windows-Taschenrechner-Problem
 
Zitat:

Zitat von Luckie (Beitrag 1101615)
Also in der wissenschaftlichen Ansicht hat der Windows (XP) Taschenrechner gar keine Taste zum Wurzel ziehen.

Ups mein Fehler wollte dies erwähnen, ist irgendwie untergegangen deswegen
Zitat:

Musst aber "tricken" was die Wurzel angeht

shmia 18. Mai 2011 17:58

AW: Windows-Taschenrechner-Problem
 
Erklärung, weshalb das so ist:

Normale 0815-Taschenrechner und der Windows-Taschenrechner rechnen intern unterschiedlich.
Ein Taschenrechner rechnet im Dezimalsystem, während die Intel FPU im Binärsystem rechnet.
Taschenrechner mit 4-Bit-CPU nützen pro Nibble nur die Zustände 0 bis 9; die Zustände A bis F bleiben ungenutzt.
Man nennt dies Binary Code Decimal.
Dadurch wird zwar Genauigkeit (und Rechengeschwindigkeit) verschenkt aber es treten weniger Rundungsfehler auf, weil immer 4 Bit einer dezimalen Ziffer entsprechen.

Der dezimale Wert 0,1 lässt sich z.B. mit einer binären Fliesskommazahl nicht exakt darstellen (man bräuchte unendlich viele Bits).
Im BCD-Format lässt sich 0,1 aber exakt darstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz