package main
import (
"fmt"
)
func countBits(num1, num2 int) int {
count := 0
for num1 > 0 || num2 > 0 {
lsb1 := num1 & 1
lsb2 := num2 & 1
if lsb1 != lsb2 {
count++
}
num1 >>= 1
num2 >>= 1
}
return count
}
func main() {
num1 := 2 // 00000010
num2 := 17 // 00010001
fmt.Println("Number of bits to be flipped:", countBits(num1, num2))
num1 = 3 // 00000011
num2 = 221 // 11011101
fmt.Println("Number of bits to be flipped:", countBits(num1, num2))
}
/*
run:
Number of bits to be flipped: 3
Number of bits to be flipped: 6
*/