有没有js的位运算的库

按位设置计算类型,如下:

const action1 = 1; // 二进制0001
const action2 = 2; // 二进制0010
const action3 = 3; // 二进制0100
const action4 = 4; // 二进制1000

操作可以混合,比如 action1 + action2 + action3 ,就是

7 // 二进制 0111

然后现在给我一个数比如6,我要计算出是哪些操作,这个要怎么计算,有没有成熟的第三方库。

阅读 2.3k
2 个回答

没理解为什么需要独立的库?如果你需要二进制的话,你可以直接 toString(2)

如果只是单纯的位运算,那么都是 &、| 这些吧。直接使用不就好了。

image.png

function toBinary(num) {
  num = Number(num)
  let result = []
  
  while(num > 1) {
    let bit = num % 2
    result.push(num % 2)
    
    num = (num - bit) / 2
  }
  
  result.push(num)
  
  return result.map((bit, index) => bit ? ('action' + (index+1)) : '').filter(a => !!a).join(',')
}

console.log(toBinary(11))

很少贴完整的解决方案,只能鼓励你多去尝试吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题