Lintcode 将整数A转换为B

例子

如把31转换为14,须要改变2个bit位。

(31)10=(11111)2

(14)10=(01110)2

贴代码

class Solution {
public:
    /**
     *@param a, b: Two integer
     *return: An integer
     */
    int bitSwapRequired(int a, int b) {
        // write your code here
        unsigned int  flag = 1;
        int i =0;
        int j = 0;
        int c= 0;
        while (flag) {
            i = a & flag;
            j = b & flag;
           if (i ^ j) {
               c++;
           }
            flag = flag << 1;
        }
        return c;
    }
};


原文地址:https://www.cnblogs.com/gcczhongduan/p/5135076.html