Hallo,
Delphi-Quellcode:
function TForm1.checkBit(ADig,ABit : integer) : boolean;
const BitDim : array[0..15] of word = (1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768);
begin
Result := ADig and BitDim[ABit] > 0;
end;
Zwar im Prinzip die gleiche Lösung, aber eleganter:
Delphi-Quellcode:
function testbit(a,b:word):boolean;
var s:word;
begin
s:=1;
result:=false;
If b <>1 then s:= s shl(b-1);
If (A and s) > 0 then result:=true;
end;
end;
Das ganze ist nicht getestet und es sind auch keine Fehler abgefangen. B>15 wäre eine Problem.
Ausserdem (für die Obergescheiten) etwas schulmässig geschrieben, damits auch jeder versteht.
Rainer
Rainer