Bitwise Or 演算子を使用すると、整数 (2 の累乗の整数など) を互いに結合し、返された int に指定された値が含まれているかどうかを後で確認できます。しかし、新しい整数を組み合わせずに、返された整数から値を削除する適切な方法はありますか?
現在、結合された整数から削除したい値を減算していますが、これはうまく機能しますか、それとも問題を引き起こす可能性がありますか? それとも、それを行うための「適切な」方法はありますか?
これが私のコードです:
private void button1_Click(object sender, EventArgs e)
{
int combinedints = CombineIntegers(CombineIntegers(2, 8), 32); //Combine three integers.
MessageBox.Show(combinedints.ToString()); //Shows 42.
MessageBox.Show(RemoveInteger(combinedints, 8).ToString()); //Removes 8 - shows 34.
}
private int CombineIntegers(int a, int b)
{
return a | b;
}
private int RemoveInteger(int a, int b)
{
return a -= b;
}
private bool CheckInteger(int a, int b)
{
return (a & b) == b;
}