class Solution {
public:
int convertInteger(int A, int B) {
unsigned int n=A^B;//如果A,B每一位都不同,如 01010101... 和 10101010...,这样异或结果为32个1。 此时 x - 1会超过 INT_MIN,所以必须将x设置为无符号整数。
while(n>0){
if(n%2==1)nums++;
n=n/2;
}
return nums;
}
};
面试题 05.06. 整数转换
最新推荐文章于 2024-10-08 10:36:00 发布