Einzelnen Beitrag anzeigen

runger
(Gast)

n/a Beiträge
 
#19

Re: Welches Bit in einer Zahl ist gesetzt

  Alt 7. Okt 2005, 06:40
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
  Mit Zitat antworten Zitat