获取JavaScript中的最低有效位

获取JavaScript中的最低有效位,javascript,bit-manipulation,bitwise-operators,Javascript,Bit Manipulation,Bitwise Operators,我试图在JavaScript中获取数字的位的最低有效位 我有以下代码: let lsb = (parseInt("110", 2) & 0xffff); 根据我的理解,110的最低有效位是110,因为它是最右边的设定位 但是,上面的代码返回“6”,这是110的总值,而不是最低有效位 如何获取最低有效位?: 最低有效位(LSB)是二进制整数中的位位置 给出单位值,即确定数字是否为 偶数或奇数 所以很容易: let lsb = parseInt("110", 2) & 1 甚至这

我试图在JavaScript中获取
数字的
位的最低有效位

我有以下代码:

let lsb = (parseInt("110", 2) & 0xffff);
根据我的理解,110的最低有效位是110,因为它是最右边的设定位

但是,上面的代码返回“6”,这是
110
的总值,而不是最低有效位

如何获取最低有效位?

最低有效位(LSB)是二进制整数中的位位置 给出单位值,即确定数字是否为 偶数或奇数

所以很容易:

let lsb = parseInt("110", 2) & 1
甚至这个:

let lsb = parseInt("110", 2) % 2

我以您的示例为例,您正在寻找最低设置位,而不是最低有效位

你要找的是一个位黑客

我们可以利用负数的表示方式(二的补码)来实现这一点

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

var leastSignificantBit = value & 1

最低有效位是最右边的位,而不是设置的最右边的位。要得到它,请使用
1

let lsb = parseInt("110", 2) & 1;

查找数字的最低有效位可以通过以下方式轻松完成:

someNumber & 1
或者在您的具体情况下:

let lsb = (parseInt("110", 2) & 1
其工作原理是用零屏蔽每个位,最低有效位除外,最低有效位为1

例如,让我们的输入号为21

21 & 1
同:

  10101
& 00001 
-------
  00001 // => returns 1 since the last bit is turned on

谢谢,我误解了最低有效位的含义。您缺少输入基数2。他原始代码中解析整数的部分使用基数2,所以我认为这很清楚。如果这不是他想要的,为什么他会故意将第二个参数赋给
parseInt
?无论如何,您相信您想要的。
&0xffff
既不是获取最低设置位的方法,也不是获取lsb的方法。这与他们两个完全无关。
lowerstsetbit
对我非常有用。比展开快得多,非常优雅。我一个人根本不会想到这一点。我相信
lowerstsetbit
将返回值而不是位。
  10101
& 00001 
-------
  00001 // => returns 1 since the last bit is turned on