Doppelwort formatieren

Sybkal

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe folgendes Problem:

UNd zwar lese ich aus einer S7 ein 2 aueinanderfolgende doppelworte also 4 bytes aus. Hab keine ahnung von S7 ist aber im Format Real. Dies hat wohl immer 2 Doppelworte.

Die Antwort in meine Software ist eine 32bit Binärzahl. Diese Soll eine Kommazahl darstellen.

Wie komm ich von der 32Bit binärzahl zur Kommazahl???

Kann mir jemand da helfen??
 
Ich habe auch die 32Bit ausgelesen ging ja irgendwie nicht anders. Jetzt wollte ich die 32Bit Dualzahl iumwandeln in Dezimal. Und das ging gar nicht.
Hab jetzt die Lösung genommen, dass ich die Zahl multipliziere mit 10 oder 100 oder 1000 sodass keine Kommazahl mehr drin steht. Und diese Zahl konnte ich einfach auslesen und in Dezimal umwandeln.

Danke für eure Antworten
 
dass ich die Zahl multipliziere mit 10 oder 100 oder 1000 sodass keine Kommazahl mehr drin steht

hast du mal probiert den 32Bit-Wert direkt in einen float zu konvertieren?
sollte ein ieee 754 konformer float-wert sein d.h. in z.B. c/c++ könntest du einfach

int i = 1234;
float f = *(float*)&i;

schreiben (in anderen sprache sieht es auch nicht viel anders aus - oder du brauchst konverter z.B. bei c#)
 
Zurück
Oben