# Bug ?
Übersicht

Dirk KnoopBetreff: # Bug ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
bitte probiert doch mal in Blitz-3D folgenden Code aus: Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() zahl1#=1.3 : zahl2#=.3 ergebnis#=zahl1#-zahl2# ; 1.3 - 0.3 = 1.0 ;müsste ausgeführt werden! If ergebnis#=1.0 Color 255,255,0 Cls Text 10,30,"RICHTIG: "+ergebnis# Flip delay 4000 EndIf ;wird aber ausgeführt! If ergebnis#<1.0 Color 255,255,0 Cls Text 10,30,"FALSCH: "+ergebnis# Flip delay 4000 EndIf End Bei mir wird immer "If ergebnis#<1.0 " ausgeführt! Wie es es bei Euch ? Gruß, Dirk |
||
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist www.torchance.de - ein etwas anderer Fußball-Manager |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich glaube den Code braucht man nicht ausführen, anhand deiner Rechnung sollte es zwar Richtig sein und auch Logisch ist das Ergebnis richtig.
Allerdings rechnet Blitz intern mit mehr Nachkommastellen wodurch kleine Rundungsfehler das Ergebnis verfälschen. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, das liegt an der Ungenauigkeit beim umrechnen von dezimal nach binär!
Bei Floats sind schnell Ungenauigkeiten vorhanden, bei Integer aber nicht! In diesem Fall wahrscheinlich 1.3 nach binär dann etwa 1.299999 und nach dem - 0.3 ..... |
||
[BB2D | BB3D | BB+]
|
Dirk Knoop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was kann man da jetzt machen, daß der Code richtig läuft ?
Gruß, Dirk |
||
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist www.torchance.de - ein etwas anderer Fußball-Manager |
Dirk Knoop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alles klar, ich habe es jetzt:
Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() zahl1#=1.3 : zahl2#=.3 ergebnis#=zahl1#-zahl2# ; 1.3 - 0.3 = 1.0 a$=ergebnis# ergebnis#=a$ ;müsste ausgeführt werden! If ergebnis#=1.0 Color 255,255,0 Cls Text 10,30,"RICHTIG: "+ergebnis# Flip delay 4000 EndIf ;wird aber ausgeführt! If ergebnis#<1.0 Color 255,255,0 Cls Text 10,30,"FALSCH: "+ergebnis# Flip delay 4000 EndIf End |
||
www.kostenloser-fussballmanager.de
www.discaim.de - weil Spaß kein Zufall ist www.torchance.de - ein etwas anderer Fußball-Manager |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Idee ist gut, das funktioniert sogar mit
"9.999e-008" obwohl ich selbst nicht damit gerechnet habe! |
||
[BB2D | BB3D | BB+]
|
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du könntest dich auch einfach an die Grundlageverhaltensweisen von Float anpassen.
NIEMALS = Immer überprüfen ob etwas in einem Bereich liegt. Dann kannst du dir das nämlich sparen mit dem vor- und rückwärts casten ... ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group