Hi,
wir wärs mit Mathe?
Ceil(log 2 (Zahl)) = log 2 (Zahl)
(Also man muss prüfen ob log 2 (Zahl) ne Ganzzahl ist)
PS:
Folgendes funktioniert bei mir soweit ich das getestet habe:
Delphi-Quellcode:
uses Math;
function Is2erPotenz(Zahl: Integer): Boolean;
var tmp: Single;
begin
tmp := ln(Zahl) / ln(2);
Result := tmp = Ceil(tmp);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Is2erPotenz(StrToInt(Edit1.Text)) then
ShowMessage('Potenz von 2!');
end;
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."