Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Float Zahlen in Hex Zahlen umwandeln

  Alt 5. Dez 2013, 12:38
Stimmt, das absolute -Keyword wär auch noch eine Möglichkeit. Hier aber nochmal mit einem Byte-Pointer der über die Single-Variable wandert, ist ja im Endeffekt das gleiche. Und macht mir persönlich weniger Angst.

Und ja, Big- oder Little-Endian müsste auch noch geklärt werden...

Delphi-Quellcode:
procedure TForm5.FormCreate(Sender: TObject);
var
   float: Single;
   byteNo: Integer;

   bytePtr: PByte;

   numHexDigits: Integer;
begin

   float := System.Pi();
   numHexDigits := 16 div (Byte.Size()*8);

   self.Caption := float.ToString()+'=';
   for byteNo := 0 to Pred(float.Size()) do
      self.Caption := self.Caption + float.Bytes[byteNo].ToHexString(numHexDigits);


   memo1.Lines.Append(float.ToString()+' entspricht...');
   bytePtr := Addr(float);
   for byteNo := 0 to Pred(float.Size()) do begin
      memo1.Lines.Append(bytePtr^.ToString() + ' = 0x'+bytePtr^.ToHexString(numHexDigits));
      Inc(bytePtr);
   end;


end;
  Mit Zitat antworten Zitat