# [3226\. Number of Bit Changes to Make Two Integers Equal](https://leetcode.com/problems/number-of-bit-changes-to-make-two-integers-equal/)
:::spoiler Solution
```cpp=
class Solution {
public:
int minChanges(int n, int k)
{
if (n == k) return 0;
string n1 = bitset<32>(n).to_string();
string k1 = bitset<32>(k).to_string();
int cnt = 0;
for (int i = 0; i < 32; i++)
{
if (n1[i] != k1[i] && n1[i] == '0') return -1;
else if (n1[i] != k1[i] && n1[i] == '1') ++cnt;
}
return cnt;
}
};
```
- T: $O(1)$
- S: $O(1)$
:::