How to round a number to the next power of 2 in Scala

1 Answer

0 votes
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

*/

 



answered Oct 29, 2025 by avibootz

Related questions

1 answer 97 views
1 answer 72 views
2 answers 173 views
1 answer 159 views
1 answer 90 views
1 answer 84 views
...