How to check if an integer contains an even or odd number of bits set in Rust

2 Answers

0 votes
fn main() {
    let num = 42; // 00101010 in binary

    // Count number of 1s in binary representation
    let bit_count = format!("{:b}", num).chars().filter(|&ch| ch == '1').count();
    let result = bit_count % 2;

    println!("0 = even number of bits set");
    println!("1 = odd number of bits set");
    println!("result: {}", result);
}


    
/*
run:

0 = even number of bits set
1 = odd number of bits set
result: 1
   
*/

 



answered Jul 27, 2025 by avibootz
0 votes
fn main() {
    let num = 42i32; // 00101010 in binary
    
    let result = num.count_ones() % 2;

    println!("0 = even number of bits set");
    println!("1 = odd number of bits set");
    println!("result: {}", result);
}


    
/*
run:

0 = even number of bits set
1 = odd number of bits set
result: 1
   
*/

 



answered Jul 27, 2025 by avibootz
...