[解決済み] BIT0、BIT1、BIT2などの定義 なし #define
2022-02-08 07:48:11
質問
C++でBIT0, BIT1, BIT2を#defineを使わずに別の方法で定義することは可能でしょうか?
#define BIT0 0x00000001
#define BIT1 0x00000002
#define BIT2 0x00000004
そして、同じものを使って、その断片から状態を作っていくのです。
#define MOTOR_UP BIT0
#define MOTOR_DOWN BIT1
注:64ビットではなく、32ビットのみを使用しています。また
setBit(flagVariable, BIT)
(結果的に
clrBit
マクロでビットを設定し、ビット演算子でビットが設定されているかどうかを比較します。
if (flagVariable & MOTOR_UP) {
// do something
clrBit(flagVariable, MOTOR_UP);
}
C++でこれらのビットマスクを既に含んでいる型はありますか?
どのように解決するのですか?
いかがでしょうか。
enum Bits
{
BIT0 = 0x00000001,
BIT1 = 0x00000004,
BIT2 = 0x00000008,
MOTOR_UP = BIT0,
MOTOR_DOWN = BIT1
};
関連
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む
-
[解決済み] C++のヘッダーファイルで#ifndefと#defineが使われているのはなぜですか?
-
[解決済み】CMakeでプリプロセッサー・マクロを定義する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる