C/C++ 1つのビットが設定されているかどうかをチェックします(つまり、int変数)。質問する

C/C++ 1つのビットが設定されているかどうかをチェックします(つまり、int変数)。質問する
int temp = 0x5E; // in binary 0b1011110.

ビットシフトやマスクを行わずに、temp のビット 3 が 1 か 0 かを確認する方法はありますか。

これには組み込み関数があるか、それとも自分で書かなければならないのかを知りたいだけです。

ベストアンサー1

C では、ビット操作を隠したい場合は、次のマクロを記述できます。

#define CHECK_BIT(var,pos) ((var) & (1<<(pos)))

これを次のように使用して、右端から n 番目のビットをチェックします。

CHECK_BIT(temp, n - 1)

C++では、std::ビットセット

おすすめ記事