请教一个位运算的问题

2022-02-19 23:01:29 +08:00
 yangyifan

我有一个位运算方法,我想通过 3325 计算出来 [1, 2, 3, 5, 7, 100], 应该怎么去写呢?


function bitOperation(n) {
    for (var t = 0, r = n.length - 1; r >= 0; r--) {
        t = t << 1 | +n[r]
    }
    return t
}

const value = bitOperation([1, 2, 3, 5, 7, 100])
console.log(value) // 3325

830 次点击
所在节点    问与答
2 条回复
ysc3839
2022-02-19 23:59:04 +08:00
大概不可行,因为 bitOperation([1, 2, 1, 1, 7, 100])也是 3325
msg7086
2022-02-20 15:48:21 +08:00
这相当于哈希算法,是不可逆的,会产生复数个解。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX