1 2 3 4 5 6 7 8 9 10 11 12 13 14
use std::cmp;
fn bits_helper(n: u64, i: u64) -> u64 {
if n == 0 {
i
} else {
bits_helper(n / 2, i + 1)
}
}
/// Number of bits needed to represent a number.
pub fn bits_needed_for(n: u64) -> u64 {
cmp::max(bits_helper(n - 1, 0), 1)
}