位模式检查

bit pattern Check

我有一个非常菜鸟的问题要问你们。

我想写一点检查。 如果两位模式相同,我想写一个布尔值检查。

不幸的是我没有完全理解位检查。

    public bool BitPatternCheck(int number, int operand)
    {
        if (operand >> number != 0)
        {
            false;
        }

    }

现在在 Main 方法中我想传递 2 个数字并检查操作数中的所有位是否也出现在数字中。

您需要使用按位与:

(number & operand) == operand

这叫做屏蔽。它将按位和 number 中的每个位与 operand 中的相应位。如果它们都是 1,则结果数字将在该位置设置位。例如:

number:  001110111
operand: 001100011
result:  001100011