C#でのビットマスクの使用
次のものがあるとしましょう int susan = 2; //0010 int bob = 4; //0100 int karen = 8; //1000 メソッドにパラメーターとして10(8 + 2)を渡し、これをデコードしてスーザンとカレンを意味します 私は10が1010であることを知っています しかし、特定のビットが次のようにチェックされているかどうかを確認するために、いくつかのロジックをどのように実行できますか if (condition_for_karen) // How to quickly check whether effective karen bit is 1 今考えられるのは、渡した数が 14 // 1110 12 // 1100 10 // 1010 8 // 1000 実際のシナリオで実際のビット数が多い場合、これは非現実的です。マスクを使用して、カレンだけの条件を満たすかどうかを確認するためのより良い方法は何ですか? 左にシフトしてから、右にシフトしてから、関心のあるビット以外のビットをクリアすることも考えられますが、これも複雑すぎるようです。