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 108 views
1 answer 79 views
2 answers 187 views
1 answer 166 views
1 answer 98 views
1 answer 90 views
...