4byteの16進数文字列をFloat型に変換するには?

解決


いおり  2001-08-27 15:42:43  No: 153  IP: [192.*.*.*]

初歩的な質問かもしれませんが、例えば
4byteの16進数である41E8B156をFloat型の29.087に変換したいのですがどうもうまくできません。

どうかよろしくお願いします。

編集 削除
にしの  2001-08-28 10:06:14  No: 154  IP: [192.*.*.*]

強引なやりかたですが、
var
  buf: array[0..3] of char;
  f: Single;
  pt: Pointer;
begin
  buf[0] := #$41;
  buf[1] := #$E8;
  buf[2] := #$B1;
  buf[3] := #$56;
  f := 0;

  pt := @f;

  PChar(pt)[0] := buf[3];
  PChar(pt)[1] := buf[2];
  PChar(pt)[2] := buf[1];
  PChar(pt)[3] := buf[0];

とすれば、fに29.0865898132324が入ります。
かなり強引だとは思いますが・・・。

編集 削除
いおり  2001-08-28 15:14:05  No: 155  IP: [192.*.*.*]

にしのさん、ありがとうございます。
早速ためしましたら、解決いたしました。

編集 削除