您的位置:首页 > 其它

题目:将整数A转换为B

2015-08-19 19:17 155 查看
如果要将整数A转换为B,需要改变多少个bit位?

您在真实的面试中是否遇到过这个题?

Yes

哪家公司问你的这个题?
Airbnb
Alibaba
Amazon Apple
Baidu Bloomberg
Cisco Dropbox
Ebay Facebook
Google Hulu
Intel Linkedin
Microsoft NetEase
Nvidia Oracle
Pinterest Snapchat
Tencent Twitter
Uber Xiaomi
Yahoo Yelp
Zenefits
感谢您的反馈

样例

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

(31)10=(11111)2

(14)10=(01110)2

挑战

你能想出几种方法?

标签 Expand

Cracking The Coding Interview

比特位操作
class Solution {

/**

*@param a, b: Two integer

*return: An integer

*/

public static int bitSwapRequired(int a, int b) {

// write your code here

int count = 0;

int x = a^b;

while(x!=0){

if((x&1)==1){

count++;

}

x = x>>>1;

}

return count;

}

};


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: