次のように uint32_t があります。
uint32_t midiData=0x9FCC00;
この uint32_t を小さなパーツに分割して、9 が独自のエンティティになり、F が独自のエンティティになり、CC が独自のエンティティになるようにする必要があります。私が何をしているのか疑問に思われるかもしれませんが、プログラムで管理しやすいように、MIDI メッセージの部分を分割しようとしています。
私はこの解決策を見つけましたが、問題はそれを CC セクションに適用する方法がわからないことと、この方法が C++ で機能するかどうかわからないことです。
これが私がこれまでに持っているものです:
uint32_t midiData=0x9FCC00;
uint32_t status = 0x0FFFFF & midiData; // Retrieve 9
uint32_t channel = (0xF0FFFF & midiData)>>4; //Retrieve F
uint32_t note = (0xFF00FF & midiData) >> 8; //Retrieve CC
これは C++ で正しいですか? 私が尋ねる理由は、私が以前に C++ を使用したことがなく、その > と < を使用する構文が常に私を混乱させていたからです (したがって、私はそれを避ける傾向があります)。