位掩码(javascript):如何检查所有标志

Bit masking (javascript): how to check ALL flags

本文关键字:检查 标志 掩码 javascript 何检查      更新时间:2023-09-26

如果我有数字'00001000'和掩码'00101000',我怎么能检查,与二进制操作,如果两个位在数字设置?如果至少有一个位匹配,number & mask返回true,但我需要检查它们是否全部匹配。如何?

与掩码比较:

if ((number & mask) === mask) {
  // all bits are set!
}

&操作的结果将与掩码的值完全相同的唯一方法是当数字设置了所有位。(测试号可以有多个位设置;如果你想检查它是否有完全相同的位设置和未设置,那么这是一个简单的相等性测试