将整数A转换成为B

来源:互联网 发布:当前java文件的路径 编辑:程序博客网 时间:2024/06/11 02:29
/*
问题描述:如果要将整数A转换为B,需要改变多少个bit位
来源:LintCode
作者:syt

日期:2017-8-20

思路:先对a和b进行异或操作,然后计算异或结果中有多少个1

*/

#include <iostream>using namespace std;/***@param a, b: Two integer*return: An integer*/int bitSwapRequired(int a, int b) {// write your code hereint count = 0;int tmp = a^b;while (tmp != 0){tmp = tmp & (tmp - 1);count++;}return count;}