Управление битами
Существует ли "человеческий" способ гашения и выставления  битов?
 {******************************************
Параметр TheBit считается в пределах 0..31
******************************************}
unit Bitwise;
interface
function IsBitSet(const val: longint; const  TheBit: byte): boolean;
 function BitOn(const val: longint; const  TheBit: byte): LongInt;
 function BitOff(const val: longint; const  TheBit: byte): LongInt;
 function BitToggle(const val: longint; const  TheBit: byte): LongInt;
implementation
function IsBitSet(const val: longint; const TheBit: byte): boolean;
begin
result := (val and (1 shl  TheBit)) <> 0;
end;function BitOn(const val: longint; const TheBit: byte): LongInt;
begin
result := val or (1 shl  TheBit);
end;function BitOff(const val: longint; const TheBit: byte): LongInt;
begin
result := val and ((1 shl  TheBit) xor $FFFFFFFF);
end;function BitToggle(const val: longint; const TheBit: byte): LongInt;
begin
result := val xor (1 shl  TheeBit);
end;end.
