AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows-Taschenrechner-Problem

Ein Thema von Coffeecoder · begonnen am 18. Mai 2011 · letzter Beitrag vom 18. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#1

Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 16:57
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
Miniaturansicht angehängter Grafiken
taschenrechner.png  
Coffeecoder
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 16:59
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:05
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)
Coffeecoder
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:06
Also Win 7 Pro x64 Taschenrechner unter wissenschaftlich --> Ergebnis <> 0

Auf meinem HTC mit Android kommt 0 raus.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:09
Bei meinem Arbeits-Blackberry auch 0
Coffeecoder
  Mit Zitat antworten Zitat
Culxxaw

Registriert seit: 21. Okt 2008
40 Beiträge
 
#6

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:27
Win7 Ultimate
4 -> Wurzel -> Minus -> 2 -> Gleich -> -1,068281969439142e-19

Wirklich ne verrückte Sache...
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:36
Bei meinem Arbeits-Blackberry auch 0
Da sieht man doch, dass Handys doch bessere Rechner sind.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:40
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:47
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
Coffeecoder
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

AW: Windows-Taschenrechner-Problem

  Alt 18. Mai 2011, 17:58
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.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
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