【发布时间】:2017-04-30 21:25:00
【问题描述】:
我有一个 uint32_t 如下:
uint32_t midiData=0x9FCC00;
我需要把这个 uint32_t 分成更小的部分,这样 9 就变成了它自己的实体,F 变成了它自己的实体,CC 变成了它自己的实体。如果您想知道我在做什么,我正在尝试分解 MIDI 消息的各个部分,以便在我的程序中更容易管理它们。
我找到了this solution,但问题是我不知道如何将它应用到 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++,它使用 > 和
【问题讨论】:
-
你试过了吗?成功了吗?