object PowerOfTwo {
/**
* Rounds an integer up to the next power of 2.
*
* return the next power of 2 greater than or equal to n
*/
def roundToNextPowerOf2(n: Int): Int = {
if (n <= 0) 1
else math.pow(2, math.ceil(math.log(n) / math.log(2))).toInt
}
def main(args: Array[String]): Unit = {
val num = 21
println(s"Next power of 2: ${roundToNextPowerOf2(num)}")
}
}
/*
run:
Next power of 2: 32
*/