Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Linke bzw. rechte Bits aus Variable vom Typen Word

  Alt 24. Feb 2004, 20:41
Moin Ganymed,

doch, mit schieben würdest Du weiterkommen, Du musst nur vorher die gewünschten Bits ausmaskieren.
Das sieht dann so aus:

Delphi-Quellcode:
const
  _dwMaskLeft20Bits = $FFFFF000; // Zum ausmaskieren der höherwertigen 20 Bits
  _dwMaskRight12Bits = $00000FFF; // Zum ausmaskieren der niederwertigen 12 Bits

var
  dwBase : DWORD;
  dw20 : DWORD;
  dw12 : DWORD;

begin
  dwBase := $ABCDEF98;
  dw12 := dwBase and _dwMaskRight12Bits;
  dw20 := (dwBase and _dwMaskLeft20Bits) shr 12; // Ausmaskierte Bits noch rechtsbündig, falls erforderlich
end;

// dw12 ist dann: $00000F98
// dw20 ist dann: $000ABCDE
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat