在JavaScript中获得最重要的一点

Jam*_*ger 4 javascript bit-manipulation bitwise-operators

我试图在JavaScript中获得最不重要bitnumber.

我有以下代码:

let lsb = (parseInt("110", 2) & 0xffff);
Run Code Online (Sandbox Code Playgroud)

根据我的理解,110的最低有效位是1 1 0,因为它是最右边的设置位.

但是,上面的代码返回'6',它是总值110而不是最小值bit.

我怎样才能得到最不重要的一点?

Str*_*ids 11

我以你的例子为例说明你正在寻找最低设置位,而不是最低位

你正在寻找的是一点点的黑客攻击.

我们可以通过对负数表示方式的一些利用来做到这一点(两个补码)

var lowestSetBit = (value) & (-value)
Run Code Online (Sandbox Code Playgroud)

如果您实际上正在寻找最低有效位,那么您可以屏蔽该位

var leastSignificantBit = value & 1
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 5

最低位是最右边的位,而不是最右边的位.为了得到它,和1.

let lsb = parseInt("110", 2) & 1;
Run Code Online (Sandbox Code Playgroud)