javascript 测试是否存在两个标志中的任何一个

标签 javascript operators bit flags

我有这个简单的代码:

var A = 1, B = 2, C = 4, D = 8;

var x = 4;

是否有与此代码等效的代码:

if(x == C || x == D){

}

但是只使用位运算符(单个条件)?

最佳答案

您可以测试 C 和 D 的组合:

if (x & (C | D))

当 C 或 D 中设置的任何位也在 x 中设置时,结果将不为零。

关于javascript 测试是否存在两个标志中的任何一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413229/

相关文章:

javascript - 在 IE 中使用 javascript 嵌入 SWF 对象时出现问题

java - && 和 || while循环中的问题

python - Python中的百分号是什么意思

关系运算符的链接给出了错误的输出

algorithm - 找到具有最多公共(public)设置位的一对位串

c++ - 如何快速比较 C++ 中的可变长度位串?

javascript - Uncaught ReferenceError : require is not defined in Electron BrowserWindow

javascript - CSS Toggle Switch(Checkbox) 值始终打开/选中

javascript - 来自 xmlhttprequest 的空响应文本

java - 为什么字节 b = (byte) 0xFF 等于整数-1?