1. ホーム
  2. c++

[解決済み] C/C++でint型変数にビットが1つセットされているかどうかをチェックする。

2022-08-20 22:43:53

質問

int temp = 0x5E; // in binary 0b1011110.

ビットシフトやマスクなしで、tempのビット3が1か0かをチェックするような方法はありますか?

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

どのように解決するのですか?

C言語では、ビット操作を隠したい場合は、マクロを書きます。

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

をチェックし、このように使って、n th のビットを右端から確認します。

CHECK_BIT(temp, n - 1)

C++では std::bitset .