Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Welches Bit in einer Zahl ist gesetzt

  Alt 7. Okt 2005, 08:28
ach Leute, es wurde gleich am Anfang schon eine supi Variante gepostet, diese leicht abgeändert und man kann eigentlich jeden Typ übergeben (bzw. einen Pointer darauf)
Delphi-Quellcode:
function IsSet(pIntToCheck: PInteger; Bit: Integer): Boolean;
begin
  Result := pIntToCheck^ and (1 shl Bit) <> 0;
end;
Und niemand hindert einen dann daran einen anderen Pointer zu übergeben. So kann man sich zum beispiel ausgeben lassen ob das 0te Bit eine Charakters gesetzt ist ohne erst zu casten weil es eben auch als Pointer übergeben wird.
Delphi-Quellcode:
var lMeinString: String;
begin
  lMeinString := 'abcde';
  ShowMessage(BoolToStr(IsSet(@lMeinString[2], 0), True));
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat