我是使用 C++ 中的位和字节的新手,我正在查看一些以前开发的代码,我需要一些帮助来理解代码的情况。有一个字节数组并用一些数据填充它,我注意到数据是带有 0x0F 的“&”(请参阅下面的代码片段)。我真的不明白那里发生了什么....如果有人可以解释一下,那将非常感激。谢谢!
//Message Definition
/*
Byte 1: Bit(s) 3:0 = Unused; set to zero
Bit(s) 7:4 = Message ID; set to 10
*/
/*
Byte 2: Bit(s) 3:0 = Unused; set to zero
Bit(s) 7:4 = Acknowledge Message ID; set to 11
*/
//Implementation
BYTE Msg_Arry[2];
int Msg_Id = 10;
int AckMsg_Id = 11;
Msg_Arry[0] = Msg_Id & 0x0F; //MsgID & Unused
Msg_Arry[1] = AckMsg_Id & 0x0F; //AckMsgID & Unused