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