Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#7

Re: Datentyp single (Delphi) in Datentyp Gleitkomma (S7) wan

  Alt 1. Jun 2010, 15:23
Zitat von Delphiuser1987:
wie mache ich das mit dem wandeln ?????
Wenn Dein Ergebnis -8.7546383e^23 zu den 1.6 gehört, liegt es nicht an der Byte-Reihenfolge, hier eine function, die ein longint umdreht, via absolute longint und single kannst Du auch single umdrehen. Allerdings ist das Ergebnis für 1,6 dann -429492192.0! (in Bytes $CD $CC $CC $3F --> $3F $CC $CC $CD )
Delphi-Quellcode:
function RB(A: longint): longint;
  {-reverse byte order in longint}
begin
  RB := ((A and $FF) shl 24) or ((A and $FF00) shl 8) or ((A and $FF0000) shr 8) or ((A and longint($FF000000)) shr 24);
end;

var
  s: single;
  l: longint absolute s;
  ..
  l := RB(l);
  Mit Zitat antworten Zitat