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 70 views
1 answer 67 views
4 answers 206 views
2 answers 190 views
1 answer 71 views
1 answer 63 views
1 answer 68 views
...