我有一个非常漂亮的菜鸟问题。
我想写一点支票。我想写一个布尔检查,如果两位模式相同。
很遗憾,我不完全了解位检查。
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