community.borland.com

Article #15932: How to do bit-wise manipulation.

 Technical Information Database

TI932D.txt   How to do bit-wise manipulation.
Category   :General Programming
Platform    :All
Product    :Delphi  All

Description:
Q:  How do I do bit-wise manipulation?

A:

{******************************************
TheBit parameter is counted from 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 TheBit);
end;

end.



Reference:


7/16/98 4:33:57 PM
 

Last Modified: 01-SEP-99