我有一个以下位串:
var input = '11100001';
我想检查是否存在八位,所以我试过:
input & '10000000'
但它给了我 8918528
。我应该如何测试它?
最佳答案
您正在尝试对两个字符串执行按位与运算,这会隐式地将它们转换为假定基数为 10 的整数。您应该将它们解析为显式提供基数的整数:
parseInt(input,2) & parseInt('10000000',2)
// 128
编辑:
要检查第 n
位是否已设置,您只需向右移动 n-1
位并检查它是否为 1
parseInt(input,2) >> 7 & 1 === 1
关于javascript - JavaScript 中的按位测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25181100/