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

1 Answer

0 votes
package main

import (
    "fmt"
    "strconv"
    "strings"
)

func main() {
    num := 42 // 00101010

    // Convert number to binary and count '1's
    binaryStr := strconv.FormatInt(int64(num), 2)
    bitCount := strings.Count(binaryStr, "1")
    result := bitCount % 2

    fmt.Println("0 = even number of bits set")
    fmt.Println("1 = odd number of bits set")
    fmt.Println("result:", result)
}



/*
run:

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

*/

 



answered Jul 27, 2025 by avibootz
...