// 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;
|