// Es wird bei einer Zahl (Integer, Shortint, Smallint, Byte, Word, Cardinal)
// getestet, ob ein bestimmtes Bit gesetzt ist.


// Getestet mit D4 unter XP

function BitTest(Zahl, Bit: integer): boolean; 
begin 
  if Bit > 31 then result := false 
  else result := odd(Zahl shr Bit); 
end; 
 
 
// Beispielaufruf 
 
// Zahl:   1   0   1   0   1   0   1   0  (z.B.: 170) 
// Bit:    7   6   5   4   3   2   1   0 
// Wert: 128  64  32  16   8   4   2   1 
 
procedure TForm1.Button5Click(Sender: TObject); 
var 
  Zahl, Bit: byte; 
  s: string; 
begin 
  Zahl := 170; 
  Bit := 0; 
  s := 'Bei ' + inttostr(Zahl) + ' ist Bit ' + inttostr(bit); 
  if not BitTest(Zahl, Bit) then s := s + ' nicht'; 
  showmessage(s + ' gesetzt'); 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke