int, das ja eig. ein float ist in eine Nachkommastelle umw.



  • Ein FLOATWERT kann intern nur als INTWERT dargestellt werden.
    Wie mach ich es damit dieser FLOATWERT, sozusagen als "Nachkommastelle" angezeigt wird ?

    FLOATWERT nicht in INTWERT umgewandelt und intern als INTWERT dargestellt: // "Rohmaterial"

    -1044989354

    FLOATWERT in INTWERT umgewandelt ("Vorkommastelle"):

    -22

    FLOATWERT irwie als "Nachkommastelle" umgewandelt:

    😕

    Grüße
    agi 🙂



  • Ich glaube du solltest dein Problem nochmal genauer beschreiben. Was verstehst du z.B. unter "intern"?
    Wenn es dir darum geht Zahlen in |R (bzw. halt Fließkommazahlen) mit Integerarithmetik näherungsweise darzustellen google mal nach Fixpunktarithemtik.



  • Tim schrieb:

    Ich glaube du solltest dein Problem nochmal genauer beschreiben.

    http://i681.photobucket.com/albums/vv178/aXYZn_bucket/screen0.jpg

    Also es gibt ein Computerspiel namens GTA3.
    Wozu und warum ich die Umrechnung unbedingt benötige ist wie schon bereits erwähnt, das Game kennt keine formatierte Ausgabe mit float sondern nur mit int.

    Hier, der helpful kommentierte Code:

    Die einleitung der comments mit // dient nur zum zweck...

    :COORDS                              
    0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@ // Das speichert die Koord. vom Player X Y Z
    0090: 0@ = float_to_integer 0@;; never used // 0@ Umwandlung in Integer
    0090: 1@ = float_to_integer 1@;; never used // 1@ Umwandlung in Integer
    0090: 2@ = float_to_integer 2@;; never used // 2@ Umwandlung in Integer
    000C: 2@ -=  1;; integer values // Hier wird Koord.-Z (@2) um 1 subtrahiert
    0300: text_3numbers_highpriority "COORDS" 0@ 1@ 2@ time  0 ms  1;; never used // 3 Koord. werden ausgegeben
    0002: jump ££COORDS // entspricht goto
    

    0@ 1@ usw sind dabei lokale Variablen und automatisch float da der Opcode 0054 auch nur mit den Arbeiten kann...

    Formatierte Ausgabe (für 3 "Ints"):

    ~p~x-coord.: ~1~ y-coord.: ~1~ z-coord.: ~1~
    

    Das erlaubt aber nur eine Darstellung ohne Nachkommas... 😞

    Das 1 (wäre bei C etwas wie ne Formatanweißung) führt dazu, dass es als Intwert dargestellt wird. Deshalb brauche ich unbedingt eine Umrechnung damit es auch die Nachkommastellen anzeigt !!! Natürlich werde ich dann, die Formatierte Ausgabe entsprechend erweitern...

    Wenn euch was im Code noch unverständlich vorkommt, dann sagt bitte bescheid 😉

    EDIT:

    0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@

    0@ hat momentan den Wert -1044989354 BEI DER AUSGABE!!!!! DA ES ALS INT DARGESTELLT WIRD UND GENAU DAS IS DER PUNKT DAS MUSS ICH IRWIE BEHEBEN KÖNNEN

    Wenn jetzt

    0090: 0@ = float_to_integer 0@;; never used

    Dann is Wert:

    -22

    EDIT2:

    UND GANZ WICHTIG DER CODE bzw. SKRIPT SOLL SO ETWAS WIE EIN INGAME KOORDINATENAUSLESER SEIN DER AUCH NACHKOMMASTELLEN DARSTELLT.



  • Und falls die Fixpunktarithimetik, dafür geeignet wäre, wie lässt sich eine solche Zahl (das ja ursp. ein float war und eig. auch ist) als Nachkommazahl darstellen:

    -1044989354

    z.b:

    3234 bzw. 0.3234

    dann

    -22.3234

    tschuldigung bin aber in eile... 🤡



  • aXYZn schrieb:

    tschuldigung bin aber in eile... 🤡

    Dann schreib lieber nichts, wenn du so in Eile bist, sondern erst, wenn du Zeit hast.
    So ist das alles ziemlich unverständlich.

    Klingt für mich auch mehr nach einem Programmierungs- als einem Mathe-Problem, deswegen verschiebe ich den Thread mal.



  • Dieser Thread wurde von Moderator/in Christoph aus dem Forum Mathematik in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Intern ist immer alles in Bits dargestellt - sowohl int als auch flaot sind eine gewisse Interpretation dieser Bitmuster. Also must du einfach nur die Interpretation entsprechend anpassen. f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)



  • TGGC schrieb:

    Intern ist immer alles in Bits dargestellt

    ach? im ernst?

    aXYZn schrieb:

    UND GANZ WICHTIG DER CODE bzw. SKRIPT SOLL SO ETWAS WIE EIN INGAME KOORDINATENAUSLESER SEIN DER AUCH NACHKOMMASTELLEN DARSTELLT.

    was hast du vor? willst du dieses blöde spiel irgendwie pimpen? was ist das für 'ne skriptsprache, usw. am besten, du fängst nochmal von vorn an und erzählst alles schön der reihe nach, für jeden verständlich und so.
    🙂


Anmelden zum Antworten