How to round a number to the previous power of 2 in Pascal

1 Answer

0 votes
program RoundToPreviousPowerOf2;

uses
  Math;

function RoundDownToPowerOf2(n: Integer): Integer;
begin
  if n <= 0 then
    RoundDownToPowerOf2 := 0
  else
    RoundDownToPowerOf2 := Round(IntPower(2, Floor(Log2(n))));
end;

var
  num: Integer;

begin
  num := 31;
  WriteLn('Previous power of 2: ', RoundDownToPowerOf2(num));
end.




(*
run:

Previous power of 2: 16

*)



 



answered Oct 30, 2025 by avibootz
...