Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Große Gleitkommavariable in Strukturen
Autor: Arndt Lindner (---.dip0.t-ipconnect.de)
Datum:   04.10.18 15:15

Beim Zugriff auf Gleitkommazahlen in Strukturen, die einen bestimmten Wert überschreiten, stürzt das Programm ab (XProfanX4) oder hängt sich in einer toten Schleife auf (XProfanX3). Man kann das ganze zwar umgehen (siehe Codebeispiel), das ist aber nicht im Sinne der Verwendung von Strukturen.
 struct teststruct = a!,b!
 declare memory testbereich : dim testbereich,teststruct
 declare double x,y
 
 cls
 x = 9223372036854774780.000000
 float testbereich,0 = x
 y = float(testbereich,0)
 logout "T1  "+str$(x)+"  "+str$(y)
 print "T1",x,y
 x = x + 511.0
 float testbereich,0 = x
 y = float(testbereich,0)
 logout "T2  "+str$(x)+"  "+str$(y)
 print "T2",x,y
 x = x + 512.0
 float testbereich,0 = x
 y = float(testbereich,0)
 print "T3",x,y
 print
 
 ' Mit Fehler
 
 x = 9223372036854774780.000000
 testbereich.a! = x
 y = testbereich.a!
 logout "T1  "+str$(x)+"  "+str$(y)
 print "T1",x,y
 x = x + 511.0
 testbereich.a! = x
 y = testbereich.a!
 logout "T2  "+str$(x)+"  "+str$(y)
 print "T2",x,y
 x = x + 512.0
 testbereich.a! = x
 y = testbereich.a!
 print "T3",x,y
 
 dispose testbereich
 
 waitinput
 end
 

Kann man da Abhilfe schaffen?

Beitrag beantworten
 
 Re: Große Gleitkommavariable in Strukturen
Autor: p. specht (---.aon.at)
Datum:   05.10.18 00:40

Bestätigt auch für X4ß-Interperter: Bei der Zuweisung (vor print "T3",x):

testbereich.a! = x

knallt es, wenn der korrekt berechnete Float-Wert x den Wert 2^31 = 9223372036854775808 überschreitet, also die Fassungsfähigkeit einer Signed 64 bit Integervariable.

Da muss RGH ran, workarounds mit Hilfsvariablen oder mit VAL() funktionieren auch nicht.
Gruss

____
Ein richtiges Problem hat keine Lösung, nur Näherungen!

Nachricht bearbeitet (05.10.18 00:41)

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org