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

1 Answer

0 votes
import Foundation

/// Rounds an integer up to the next power of 2.
/// - Returns: The next power of 2 greater than or equal to `n`.
func roundToNextPowerOf2(_ n: Int) -> Int {
    guard n > 0 else { return 1 }
    
    let exponent = ceil(log2(Double(n)))
    
    return Int(pow(2.0, exponent))
}

let num = 21
print("Next power of 2: \(roundToNextPowerOf2(num))")



/*
run:
 
Next power of 2: 32

*/

 



answered Oct 29, 2025 by avibootz

Related questions

1 answer 81 views
1 answer 73 views
4 answers 225 views
2 answers 203 views
1 answer 78 views
1 answer 74 views
1 answer 80 views
...