javascript - JavaScript 中的按位测试

标签 javascript bit-manipulation bitwise-operators

我有一个以下位串:

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/

相关文章:

c - C : setting bits from left 中的按位运算

C:解包一个字节

javascript - 在客户端从数组构造 JSON 对象?

javascript - ionic 2 : Use ng2-translate in a ts file

javascript - 如何同时处理两个 XML 请求的结果

c++ - 按位非 (~) 的奇怪行为

c++ - 这两个位运算符在做什么?

java - 按位运算 Java AND 多个 boolean 值

c - 从 A 中提取某些位并仅替换 B 中某个位置处提取的那些位

javascript - javascript 对象都是引用类型吗?