Funktion Rückgabe zweier Potenz

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Funktion Rückgabe zweier Potenz

Beitrag von Michl »

Ein fröhliches Hallo in die Runde,

diese Funktion tut genau das was ich will:

Code: Alles auswählen

function Normal2(w: QWord): QWord;
var
  b: Byte;
begin
  for b := 63 downto 1 do
    if w shr b > 0 then Exit((w shr b) shl b);
  Result := w;
end;
Ich könnte mir vorstellen, dass es so eine Funktion schon fertig gibt.

Daher meine Frage: Gibt es eine fertige Funktion, die eine Zahl mit dem höchsten gesetzten Bit einer Ausgangszahl zurückgibt?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten