有没有js的位运算的库

发布于 2022-09-13 01:00:02 字数 297 浏览 14 评论 0

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

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

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

7 // 二进制 0111

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖乖 2022-09-20 01:00:02

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

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

image.png

趁微风不噪 2022-09-20 01:00:02
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))

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文