Bin -> Float Umrechnen

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

jeykey

Betreff: Bin -> Float Umrechnen

BeitragFr, Jan 14, 2011 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich beschäftige mich zurzeit hauptsächlich mit Bit-Operatoren und Dualsystem etc.
Mit der Funktion "Bin" kann man sich ja eine Zahl binär ausgeben lassen. Bei Integer funktioniert das prima und ich kann die Binärzahl auch wieder zurückrechnen.

Doch bei Float habe ich zwei Probleme:

1. Wie wird im Binärformat definiert wo der "Punkt" steht?
2. Ich habe selbst versucht darauf zu kommen und mir ist bei folgenden Beispielprogramm aufgefallen, dass beide Zahlen denselben Binärwert liefern. Ist das ein Fehler oder hat das einen bestimmten Grund?

Code: [AUSKLAPPEN]
SuperStrict

Local f1:Float = 12
Local f2:Float = 12.12345
Print f1
Print f2
Print Bin(f1)
Print Bin(f2)


Da beide Zahlen binär gleich ausgegeben werden, wie kann man sie dann wieder eindeutig zurück umrechnen? Ich hoffe jemand kennt sich damit aus Smile

ZaP

BeitragFr, Jan 14, 2011 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstaunlich, dass das überhaupt mit SuperStrict geht, denn eigentlich sagt die Hilfe ja
Zitat:
Convert an integer value to a binary string


Wikipedia erklärt das eigentlich ganz nett, wie die Zahlen zustande kommen.
Starfare: Worklog, Website (download)

BtbN

BeitragFr, Jan 14, 2011 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.h-schmidt.net/Float...754de.html
 

jeykey

BeitragFr, Jan 14, 2011 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ah, das hab ich wohl im eifer des gefechts überlesen^^
danke!

Noobody

BeitragFr, Jan 14, 2011 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzMax: [AUSKLAPPEN]
Function BinFloat:String( In:Float )
Return Bin( ( Int Ptr ( Varptr In ) )[ 0 ] )
End Function
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group