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

1 Answer

0 votes
import Foundation

/// Rounds an integer down to the previous power of 2.
/// - Returns: The previous power of 2 less than or equal to `n`.
func roundToPreviousPowerOf2(_ n: Int) -> Int {
    guard n > 0 else { return 0 }
    
    return 1 << (Int.bitWidth - n.leadingZeroBitCount - 1)
}

let num = 21

print("Previous power of 2: \(roundToPreviousPowerOf2(num))")




/*
run:
 
Previous power of 2: 16

*/

 



answered Oct 30, 2025 by avibootz

Related questions

1 answer 81 views
1 answer 87 views
4 answers 225 views
2 answers 203 views
1 answer 69 views
1 answer 71 views
...