quad IMA

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

quad IMA

Beitrag von gnasen »

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

Re: quad IMA

Beitrag von Little John »

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. :mrgreen:
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
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: quad IMA

Beitrag von gnasen »

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
Benutzeravatar
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

Re: quad IMA

Beitrag von ts-soft »

gnasen hat geschrieben:funktionieren tut es schon, aber Int(...) ist nicht (...).
Aber #PI ist eine Gleitkommazahl und das paßt in kein Quad
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Little John

Re: quad IMA

Beitrag von Little John »

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

Re: quad IMA

Beitrag von a14xerus »

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
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: quad IMA

Beitrag von gnasen »

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
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Re: quad IMA

Beitrag von hjbremer »

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
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: quad IMA

Beitrag von AND51 »

hjbremer hat geschrieben:Was soll der Computer nun rechnen ????
Vielleicht von links nach rechts, wie es jeder tut?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: quad IMA

Beitrag von gnasen »

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
Antworten