Zitat von
DelphiManiac:
Hallo,
ich habe folgendes Problem:
ich habe 4 Bytes
[delphi]
Byte1,Byte2,Byte3,Byte4:Byte
diese Bytes will ich also Floatzahl bewerten nach IEEE 754.
Denke der Datentyp Single ist schon IEEE 754 konform.
Habe es bisher (aber natürlich nicht sonderlich gut oder elegant) so
gelöst
so müßte es funktionieren:
Code:
Type
TSingle= packed Record
case integer of
1 : (byte1,byte2,byte3,byte4:byte);
2 : (word1,word2:word);
3 : (int:integer);
4 : (lword:cardinal);
5 : (bytes:array[0..3] of byte);
6 : (words:array[0..1] of word);
7 : (value:single);
end;
var
data:TSingle;
Du kannst die Daten als Bytes, Words, Integer oder Cardinal in data schreiben und dann mit data.value den Wert als single auslesen, ohne irgenwelche weiteren Operationen.