<< Approximate square root in Rust
pub fn aprx_sqrt(n: usize) -> usize {
let mut _bits = (std::mem::size_of::<usize>() << 3) - 1;
while ((n >> _bits) & 1) == 0 {
_bits -= 1;
}
1 << ((_bits >> 1) + 1)
}
You will not get an explanation, I'm sorry.