Существует ли "человеческий" способ гашения и выставления
битов?
|
|
{****************************************** Параметр 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. | |