algorithm - 四个变量,如何快速判断它们不是1就是0?

标签 algorithm logic bit-manipulation

我有四个整数变量abcd。我想知道它们的值是 1 还是 0。显然我可以使用 if 语句来检查这个:

if((a == 0 || a == 1) && (b == 0 || b == 1) &&
   (c == 0 || c == 1) && (d == 0 || d == 1))
{
    print(true)
}
else
{
    print(false)
}

写这么多有点无聊。我在想是否有任何方法可以使用位操作来解决我的问题。但是现在我对此一无所知。任何人都可以指出我正确的方向吗?或者还有其他更简单的方法来检查吗?

最佳答案

在 C 中,采用按位或,并测试:

int e = a|b|c|d;
return e==0 || e==1;

关于algorithm - 四个变量,如何快速判断它们不是1就是0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385194/

相关文章:

打包时隙的算法

java - 实现 Kruskal 算法时测试电路

performance - 如何在一秒内计算任意 n <= 600 的最短加法链?

java - Java最长公共(public)子序列的动态规划算法

python - Python 计算器最少击键次数问题

c - 在单个语句中交换三个数字

javascript - 在 Mustache.js 中使用逻辑

Java - 通过转换为 double 在 long 中查找前导零

c++ - 我们能否使用位操作来确定 0 在数组中是否出现奇数次

c - C 中的位运算和掩码