Geht auch komplett ohne Assembler und Bitoperationen (und vermutlich sogar schneller dank
inline
)
Delphi-Quellcode:
type
// glaube so einen Datentyp hat Delphi bereits in irgendeiner
// Unit (vermutlich Windows), weiß aber den Namen nicht.
TDWord =
packed record
Lo, Hi: Word;
end;
function HiWord(Zahl: DWord): Word;
inline;
begin
Result := TDWord(Zahl).Hi;
end;
Function LoWord(Zahl: DWord): Word;
inline;
begin
Result := TDWord(Zahl).Lo;
end;
Hoffe ich hab nicht wieder die Reihenfolge von Lo und Hi vertauscht...