Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings
hier .
gnasen
Beiträge: 578 Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60
Beitrag
von gnasen » 26.03.2010 17:12
Code: Alles auswählen
Procedure rechne()
Protected a.q,b.q
a = 1
b = a / 1 / #PI
EndProcedure
rechne()
Ich denke nicht das der Code zu einem "IMA" (Bsp) oder "illegal instruction (executing binary data?)" (im Projekt) führen sollte. Oder übersehe ich da etwas?
Edit: Fall 2 hat sich erledigt, siehe unten
Zuletzt geändert von
gnasen am 26.03.2010 21:42, insgesamt 1-mal geändert.
pb 4.51
Little John
Beitrag
von Little John » 26.03.2010 18:08
gnasen hat geschrieben: Code: Alles auswählen
Procedure rechne()
Protected a.q,b.q
a = 1
b = a / 1 / #PI
EndProcedure
rechne()
IMA ist natürlich nie schön ... aber sauberer Code ist das IMHO auch nicht.
Funktioniert es bei Dir mit Int()?
Code: Alles auswählen
Procedure rechne()
Protected a.q,b.q
a = 1
b = Int(a / 1 / #PI)
EndProcedure
rechne()
Gruß, Little John
gnasen
Beiträge: 578 Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60
Beitrag
von gnasen » 26.03.2010 18:11
funktionieren tut es schon, aber Int(...) ist nicht (...). Ich rechne ja gerade wegen der genauigkeit mit Quads. Was mir noch aufgefallen ist: "Doppel-Durch" der Form a/b/c ist kein Problem und wird wie gewohnt von links nach rechts abgearbeitet.
Aber warum auf einmal IMAs und ähnliches angeschlichen kommt, sobald man #PI und Variable an passende stelle setzt?
pb 4.51
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 26.03.2010 18:16
gnasen hat geschrieben: funktionieren tut es schon, aber Int(...) ist nicht (...).
Aber #PI ist eine Gleitkommazahl und das paßt in kein Quad
Little John
Beitrag
von Little John » 26.03.2010 19:02
gnasen hat geschrieben: funktionieren tut es schon, aber Int(...) ist nicht (...). Ich rechne ja gerade wegen der genauigkeit mit Quads.
Dann IntQ()?
( Ich kann mich anscheinend nicht daran gewöhnen, dass es da einen Extrabefehl für Quads gibt. )
Moment ... oder verwechselst Du Quad mit Double?
Code: Alles auswählen
Procedure rechne()
Protected a.d, b.d
a = 1
b = a / 1 / #PI
EndProcedure
rechne()
Gruß, Little John
a14xerus
Beiträge: 1440 Registriert: 14.12.2005 15:51
Wohnort: Aachen
Beitrag
von a14xerus » 26.03.2010 20:06
Code: Alles auswählen
long.l = #PI
int.i = #PI
quad.q = #PI
float.f = #PI
double.d = #PI
Debug long ; 3 ganzzahl 32 bit
Debug int ; 3 ganzzahl 32 oder 64 bit
Debug quad ; 3 ganzzahl 64 bit
Debug float ; 3.14159274101257 fließkommazahl
Debug double ; 3.1415926535897931 erhöhte genauigkeit
Quads sind kein Kommazahlen, sprich da ist auch keine "Genauigkeit"
Quads haben nur einen größeren Zahlenraum
gnasen
Beiträge: 578 Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60
Beitrag
von gnasen » 26.03.2010 21:42
das ist mir jetzt peinlich. Ja, habe die Variablentypen verwechselt.
Somit stimmt das doch noch alles da oben.
Nur der IMA bleibt, der sollte nicht auftreten, egal ob richtig oder falsch angewandt, oder nicht?
pb 4.51
hjbremer
Beiträge: 822 Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster
Beitrag
von hjbremer » 26.03.2010 21:43
Was soll der Computer nun rechnen ????
Code: Alles auswählen
Procedure rechne()
Protected a.q,b.q
a = 1
b = (a / 1) / #PI
EndProcedure
rechne()
oder
Code: Alles auswählen
Procedure rechne()
Protected a.q,b.q
a = 1
b = a / (1 / #PI)
EndProcedure
rechne()
das sind jeweils 2 völlig unterschiedliche Stiefel
zum einen wegen der unterschiedlichen Zahlenformate
und zum anderen wegen der Reihenfolge
Eigentlich eine Scherzfrage ?!
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
AND51
Beiträge: 5220 Registriert: 01.10.2005 13:15
Beitrag
von AND51 » 26.03.2010 22:42
hjbremer hat geschrieben: Was soll der Computer nun rechnen ????
Vielleicht von links nach rechts, wie es jeder tut?
gnasen
Beiträge: 578 Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60
Beitrag
von gnasen » 26.03.2010 22:50
AND51 hat geschrieben: hjbremer hat geschrieben: Was soll der Computer nun rechnen ????
Vielleicht von links nach rechts, wie es jeder tut?
So kenne ich es auch. Deshalb habe ich auch überhaupt den Ausdruck a/b/c verwendet, da er beim programieren für mich dasselbe bedeutet wie (a / b) / c
pb 4.51