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

解決


いおり  2001-08-28 00:42:43  No: 153

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

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


にしの  2001-08-28 19:06:14  No: 154

強引なやりかたですが、
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-29 00:14:05  No: 155

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加