-1
誰かが古いMSBからieee(delphi real)に変換するコードを持っていますか?delphiはmicrosoftバイナリをieee(8ビット)に変換します
はグーグルでは、私だけではなく、8ビットのため、4ビット変換を設立しました:
function MBF2IEEE(MBFVal: Single): Single;
var
Output: array[1..4] of byte;
Value: Single absolute Output;
// Sign: byte;
LSB: Byte;
begin
try
Output[4] := TInput(MBFVal)[4];
{ if value is non-zero, do some bit shuffling }
if Output[4] > 2 then begin
Output[3] := TInput(MBFVal)[3];
Output[2] := TInput(MBFVal)[2];
Output[1] := TInput(MBFVal)[1];
Output[4] := Output[4] - $02;
LSB := Output[4] and $01;
Output[4] := (Output[4] shr 1) or (Output[3] and $80);
if LSB = 0 then
Output[3] := Output[3] and $7f
else
Output[3] := Output[3] or $80;
{ else return 0 }
end else begin
Output[1] := 0;
Output[2] := 0;
Output[3] := 0;
Output[4] := 0;
end;
Result := Value;
except
Output[1] := 0;
Output[2] := 0;
Output[3] := 0;
Output[4] := 0;
end;
end;
おかげで(このページ http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20245266.htmlから)!
この8バイトのMSB形式を文書化するリンクはありますか? –
確かに、私はまだ誰かがDelphiでこれをやったと信じています。 http://support.microsoft.com/kb/35826 http://www.elchabon.com/2010/07/mbfmicrosoft-binary-フォーマット間の変換/ http://stackoverflow.com/questions/3766023/convert-mbf-double-to-ieee –
私は残りの人がMSBとは何かを追うことができるようにリンクを求めました。私は誰かが変換を行うコードを一緒にノックすることができますいくつかの良い参照と私は確信しています。 –