LintCode 181. 将整数A转换为B JavaScript算法

   日期:2020-09-25     浏览:89    评论:0    
核心提示:描述如果要将整数n转换为m,需要改变多少个bit位?说明Both n and m are 32-bit integers.样例- Example 1: Input: n = 31, m = 14 Output: 2 Explanation: (11111) -> (01110) there are two different bits.- Example 2: Input: n = 1, m = 7 Output: 2 Explanation: (001)

描述

如果要将整数n转换为m,需要改变多少个bit位?

说明

Both n and m are 32-bit integers.

样例

- Example 1:
	Input: n = 31, m = 14
	Output:  2
	
	Explanation:
	(11111) -> (01110) there are two different bits.


- Example 2:
	Input: n = 1, m = 7
	Output:  2
	
	Explanation:
	(001) -> (111) will change two bits.

挑战

你能想出几种方法?

解析

这里使用了二进制的各种运算

bitSwapRequired = (a, b) => { 
    var s = 0, c;
    for (c = a ^ b; c !== 0; c = c >>> 1) { 
        s += c & 1;
    }
    return s;
}

运行结果

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服