题目:3226. 使两个整数相等的位更改次数
思路:枚举int型的32位,进行比对即可。
class Solution {
public:
int minChanges(int n, int k) {
int ans=0;
for(int i=0;i<32;i++){
if(k>>i&1){
if((n>>i&1)==0){
ans=-1;
break;
}
}else{
if(n>>i&1){
ans++;
}
}
}
return ans;
}
};