Action! Problem mit negativer Realzahlwandlung
Action! Problem mit negativer Realzahlwandlung
von matti1104 » Mo 22. Aug 2011, 12:07
Hi Jungs,
ich versuche gerade in Action! eine Anwendung zu schreiben, bei der ich Realzahlen benötige. Das ist ja dank dem genialen Action! Toolkit auch möglich. Ein Problem habe ich jetzt aber, wenn ich eine negative Intergerzahl mit IntToReal in eine negative Realzahl wandeln möchte. Mit Int To Real bekomme ich dann eine neagtive , sondern eine große positive Realzahl (Überlauf). IntToReal scheint also keine nagativen Zahlen in eine nagtive Zahl wandeln zu können. Hat evtl. jemand eine Idee, wie es trotzdem gehen könnte?
Gruß,
Mathias
Re: Action! Problem mit negativer Realzahlwandlung
von cas » Mo 22. Aug 2011, 12:19
Matti1104 hat geschrieben:Hi Jungs,
ich versuche gerade in Action! eine Anwendung zu schreiben, bei der ich Realzahlen benötige. Das ist ja dank dem genialen Action! Toolkit auch möglich. Ein Problem habe ich jetzt aber, wenn ich eine negative Intergerzahl mit IntToReal in eine negative Realzahl wandeln möchte. Mit Int To Real bekomme ich dann eine neagtive , sondern eine große positive Realzahl (Überlauf). IntToReal scheint also keine nagativen Zahlen in eine nagtive Zahl wandeln zu können. Hat evtl. jemand eine Idee, wie es trotzdem gehen könnte?
Gruß,
Mathias
Brauchst Du die Umwandlung mehrfach im Programm (z. B. in einer Schleife), oder nur 1-2 malig?
Wenn es nicht auf Geschwindigkeit ankommt würde ich versuchen:
* Int-Zahl positiv machen (abs)
* umwandeln
* Vorzeichen anpassen
Pseudocode:
- Code: Alles auswählen
real = intToReal(abs(int))
if (int < 0) then
real = real * -1
In einer Schleife kann das aber die Geschwindigkeit abwürgen.
-- Carsten
Re: Action! Problem mit negativer Realzahlwandlung
von matti1104 » Mo 22. Aug 2011, 21:39
Hi Carsten,
vielen Dank für den Tip. So gehe ich mal ins Rennen.
Gruß,
Mathias
Re: Action! Problem mit negativer Realzahlwandlung
von funkheld » Mo 29. Aug 2011, 12:30
Hmm..., das hört sich interessant an, weil ja Action keine Realzahlen kann.
Wie hast du das Programm dafür aufgebaut?
danke.
gruss
Re: Action! Problem mit negativer Realzahlwandlung
von matti1104 » Mo 29. Aug 2011, 16:49
funkheld hat geschrieben:Hmm..., das hört sich interessant an, weil ja Action keine Realzahlen kann.
Wie hast du das Programm dafür aufgebaut?
danke.
gruss
Hi Funkheld,
Action! hat zwar von Haus aus keine Realzahlen, da hast Du recht. Allerdings gibt es das Action! Toolkit. Dabei handelt es sich um eine Erweiterungsbibliothek, die einem Action! Programmierer unter anderem auch den Real-Datentyp zur Verfügung stellt. Dieser Datentyp besteht aus 3 CARDinal Zahlen, ist also 6 Byte lang. Das Handling dieser Implementierung ist zwar nicht zu komfortabel, wie bei den anderen Datentypen, hilft aber doch schon weiter.
Gruß,
Mathias
Re: Action! Problem mit negativer Realzahlwandlung
von matti1104 » Mo 29. Aug 2011, 16:51
Matti1104 hat geschrieben:funkheld hat geschrieben:Hmm..., das hört sich interessant an, weil ja Action keine Realzahlen kann.
Wie hast du das Programm dafür aufgebaut?
danke.
gruss
Hi Funkheld,
Action! hat zwar von Haus aus keine Realzahlen, da hast Du recht. Allerdings gibt es das Action! Toolkit. Dabei handelt es sich um eine Erweiterungsbibliothek, die einem Action! Programmierer unter anderem auch den Real-Datentyp zur Verfügung stellt. Dieser Datentyp besteht aus 3 CARDinal Zahlen, ist also 6 Byte lang. Das Handling dieser Implementierung ist zwar nicht so komfortabel wie es bei den anderen Datentypen der Fall ist, arbeiten kann man damit aber doch recht gut.
Gruß,
Mathias
Re: Action! Problem mit negativer Realzahlwandlung
von funkheld » Mo 29. Aug 2011, 19:52
Wo sind eigentlich die Rom-Adressen raus die hier in der Real-Action verwendet werden zb für Add und Sub.
Aus dem Basicrom oder hat der Atari 800xl noch ein anderes Rom dafür ?
danke.
gruss
Re: Action! Problem mit negativer Realzahlwandlung
von cas » Di 30. Aug 2011, 09:23
funkheld hat geschrieben:Wo sind eigentlich die Rom-Adressen raus die hier in der Real-Action verwendet werden zb für Add und Sub.
Aus dem Basicrom oder hat der Atari 800xl noch ein anderes Rom dafür ?
danke.
gruss
Hallo Funkheld,
schau mal im neuen Atari Profibuch, 1.10.5 Fließkommaroutinen (Seite 76ff) und 2.14 Fließkomma-Arithmetik (Seite 168).
-- Carsten
Re: Action! Problem mit negativer Realzahlwandlung
von funkheld » Di 30. Aug 2011, 14:27
Jup, habe mir jetzt das Buch ausgedruckt.
Es sind genau die Floatbefehle , die dort beschrieben sind.
danke.
gruss