float-fehler

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

bjh

Betreff: float-fehler

BeitragSo, Aug 07, 2011 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich bin gerade auf was komisches gestoßen

BlitzBasic: [AUSKLAPPEN]

timer=CreateTimer(50)
Graphics 0,0
Global x#

While Not KeyHit(1)
Cls

If KeyDown(57) And x<.5 x=x+.1
If x>0 x=x-.01

Text 0,0,x

Flip 0
WaitTimer timer
Wend
End


wenn man bei diesem programm auf die leertaste drückt, sollte x irgendetwas um den wert 0.5 haben.
aber irgendwann wird dann immer 0,000001 dazugezählt. Sad

kann mir jemand erklären, warum das so ist?

Xeres

Moderator

BeitragSo, Aug 07, 2011 0:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Fließkommazahlen haben immer eine gewisse Ungenauigkeit - siehe auch Gleitkommaarithmetik (WP)
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

bjh

BeitragSo, Aug 07, 2011 0:49
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die schnelle antwort.

dann muss ich damit wohl oder übel zurechtkommen.

Xeres

Moderator

BeitragSo, Aug 07, 2011 0:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es wirklich exakt sein muss, immer mit Integer rechnen und ggf. für die Anzeige umrechnen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

hazumu-kun

BeitragSo, Aug 07, 2011 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
So macht man es im Finanzbereich auch.
Man rechnet nicht in Euro, sondern beispielsweise in Hundertstel Cent. Dann kann man Integer benutzen und braucht sich keine Gedanken über Ungenauigkeiten machen.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group