public class PowerOfTwo {
/**
* Rounds an integer down to the previous power of 2.
*
* return the previous power of 2 less than or equal to n
*/
public static int roundToPreviousPowerOf2(int n) {
if (n <= 0) {
return 0;
}
return (int) Math.pow(2, Math.floor(Math.log(n) / Math.log(2)));
}
public static void main(String[] args) {
int num = 31;
System.out.println("Previous power of 2: " + roundToPreviousPowerOf2(num));
}
}
/*
run:
Previous power of 2: 16
*/