猿问

js/jquery bit位计算

写一个函数实现传值(如:way=2) 选出是popo [2的1次方=2]输出为[1]; 
如果way=5 选出的是邮件和短信【2的0次方+2的2次方=5】
输出的值为[0,2]# -------------------------# bit位|  0  |   1  |  2  |# 意义 |邮件 | popo | 短信|# -------------------------


跃然一笑
浏览 1317回答 1
1回答

元芳怎么了

function getBitsPosition(n) {&nbsp; &nbsp; var r = [];&nbsp; &nbsp; var i = 0;&nbsp; &nbsp; while (n > 0) {&nbsp; &nbsp; &nbsp; &nbsp; if (n & 0x01 === 1) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; r.push(i);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; i++;&nbsp; &nbsp; &nbsp; &nbsp; n = n >> 1;&nbsp; &nbsp; }&nbsp; &nbsp; return r;}for (var i = 0; i < 10; i++) {&nbsp; &nbsp; console.log(`${i}: ${getBitsPosition(i)}`);}输出0:1: 02: 13: 0,14: 25: 0,26: 1,27: 0,1,28: 39: 0,3
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答