How to find the length of the longest consecutive zeroes in the binary representation of a number in Rust

1 Answer

0 votes
fn longest_consecutive_zeroes(mut n: u32) -> u32 {
    // Function to find the longest sequence of consecutive zeroes in binary representation
    let mut max_count = 0;
    let mut current_count = 0;

    while n > 0 {
        if (n & 1) == 0 {
            // Check if the least significant bit is 0
            current_count += 1;
            max_count = max_count.max(current_count); // Update max_count
        } else {
            current_count = 0; // Reset count when a 1 is encountered
        }

        n >>= 1; // Right shift the number
    }

    max_count
}

fn main() {
    let num = 11298; // Binary: 0010110000100010
    
    println!("Longest consecutive zeroes: {}", longest_consecutive_zeroes(num));
}



/*
run:

Longest consecutive zeroes: 4

*/

 



answered Sep 15, 2025 by avibootz
...