JuniorBit Manipulation
Number of Bit Changes to Make Two Integers Equal
You are given two positive integers n and k.
You can choose any bit in the binary representation of n that is equal to 1 and change it to 0.
Return the number of changes needed to make n equal to k. If it is impossible, return -1.
Example 1
Input
n = 13, k = 4Output
2Changing the first and fourth bits of
n = (1101)2 makes it equal to k = (0100)2, requiring 2 changes.Example 2
Input
n = 21, k = 21Output
0n and k are already equal, so no changes are needed.Constraints
- 1 <= n, k <= 10^6