Laden...

Forenbeiträge von Eystorhaf Ingesamt 3 Beiträge

19.02.2013 - 14:40 Uhr

werte ich meine 4 bytes mit http://www.h-schmidt.net/FloatConverter/IEEE754.html
in meiner Reihenfolge aus:

Bytes: 5, 6, 3, 4
66, 19, 78, 99
Hex 42, 13, 48, 63

Ergibt sich: 36.82069

Ich verstehe einfach nicht wo bei mir der Denkfehler ist....

19.02.2013 - 13:33 Uhr

Ja das is mir auch gerade aufgefallen, hatte mich vertippt!

Es soll 5,6,3,4 sein!
Liegt daran das die Reihenfolge vom ModBUs an der Geräteschnittstelle vertauscht wird.

19.02.2013 - 13:24 Uhr

Hallo

Ich habe folgendes Problem:

Ich erhalte folgende Daten von einer Schnittstelle:

byte[] IstTemp = { 8, 3, 4, 78, 99, 66, 19, 245, 104 }

Von hier sollen die vier byte IstTemp[3], IstTemp[4], IstTemp[5], IstTemp[6],
in eine float umgewandelt werden, gemäß IEEE754

Dazu bringe ich die Betreffenden bytes in die richtige Reihenfolge gemäß IEEE 754:

byte[] temp = { IstTemp[6], IstTemp[5], IstTemp[3], IstTemp[4] };

und dieses Array will ich dann in eine float umwandeln:

float temperatur = BitConverter.ToSingle(temp,0);

Werte ich obiges entsprechend aus erhalte ich als Ergebnis 56.98....;
Jedoch sollte ich eigentlich 36.8 erhalten!

Kann mir jemand sagen was ich falsch mache ?

Grüße und Dank!