1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
procedure setBit(var val : Integer;pos : Integer;
BitVal : Boolean);
var
ActualVal : Boolean;
tmpVal,i : Integer;
begin
tmpVal := val;
ActualVal := getBit(val,pos);
if(ActualVal <> BitVal) then
begin
val := val shr pos;
if(ActualVal = True) then
val := val -1
else
val := val +1;
for i := 1 to pos do
begin
val := val shl 1;
if(getBit(tmpVal,pos-i)) then
val := val +1;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
i := 0;
setBit(i,0,True);
setBit(i,1,True);
setBit(i,2,True);
setBit(i,3,False);
setBit(i,4,True);
.... |
Partager