这种问题应该查Help,不会查Help编程可就太痛苦了 And Or Xor 以下 Shr, Shl
{Helper for for one byte flags} {------------------------------------------------------------------------------} procedure LMDSetBit(var holder:Byte; bit:Byte; aValue:Boolean); begin if aValue then holder:=holder or (1 shl bit) else holder:=holder xor (1 shl bit); end;{------------------------------------------------------------------------------} procedure LMDSetBitUpTo(var Holder:Byte; upTo:Byte); var i:Integer; begin For i:=0 to upTo do LMDSetBit(Holder, i, True); end;{------------------------------------------------------------------------------} function LMDGetBit(holder, bit:Byte):Boolean; begin result:=((1 shl bit) and Holder=(1 shl bit)); end;给我一些分吧
And
Or
Xor
以下
Shr,
Shl
{------------------------------------------------------------------------------}
procedure LMDSetBit(var holder:Byte; bit:Byte; aValue:Boolean);
begin
if aValue then
holder:=holder or (1 shl bit)
else
holder:=holder xor (1 shl bit);
end;{------------------------------------------------------------------------------}
procedure LMDSetBitUpTo(var Holder:Byte; upTo:Byte);
var
i:Integer;
begin
For i:=0 to upTo do LMDSetBit(Holder, i, True);
end;{------------------------------------------------------------------------------}
function LMDGetBit(holder, bit:Byte):Boolean;
begin
result:=((1 shl bit) and Holder=(1 shl bit));
end;给我一些分吧