[位模式检查

问题描述 投票:0回答:1

我有一个非常漂亮的菜鸟问题。

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

很遗憾,我不完全了解位检查。

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

    }

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

c# bit
1个回答
0
投票

您需要使用按位和:

(number & operand) == operand

这称为遮罩。它将按位排列,并且number中的每个位与operand中的相应位。如果它们均为1,则结果编号将在该位置设置该位。例如:

number:  001110111
operand: 001100011
result:  001100011
© www.soinside.com 2019 - 2024. All rights reserved.