写一个函数实现传值(如:way=2) 选出是popo [2的1次方=2]输出为[1];
如果way=5 选出的是邮件和短信【2的0次方+2的2次方=5】
输出的值为[0,2]# -------------------------# bit位| 0 | 1 | 2 |# 意义 |邮件 | popo | 短信|# -------------------------
1 回答
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
元芳怎么了
TA贡献1798条经验 获得超7个赞
function getBitsPosition(n) {
var r = [];
var i = 0;
while (n > 0) {
if (n & 0x01 === 1) {
r.push(i);
}
i++;
n = n >> 1;
}
return r;
}
for (var i = 0; i < 10; i++) {
console.log(`${i}: ${getBitsPosition(i)}`);
}
输出
0:
1: 0
2: 1
3: 0,1
4: 2
5: 0,2
6: 1,2
7: 0,1,2
8: 3
9: 0,3
添加回答
举报
0/150
提交
取消