程序员面试金典 -- 整数转化

程序员面试金典 -- 整数转化

题目描述

编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。

给定两个整数int A,int B。请返回需要改变的数位个数。

测试样例:
10,5
返回:4
class Transform {
public:
    int calcCost(int A, int B) {
        // write code here
        int cnt = 0, val = A^B; 
        while(val){
            if(val%2 == 0){
                val /= 2;  
            }else{
                val = (val - 1)/2; 
                cnt++; 
            }
        }
        return cnt; 
    }
};

  

原文地址:https://www.cnblogs.com/zhang-yd/p/7163199.html