[pascal]
function NextPowerOf2(x: Longint): Longint;
begin
Result := x-1;
Result := Result or Result shr 1;
Result := Result or Result shr 2;
Result := Result or Result shr 4;
Result := Result or Result shr 8;
Result := Result or Result shr 16;
Inc(Result);
end;
[/pascal]

upd: tags corrected