我有这个

char receivedData[27];
short int twoBytes;

我想要的是twoBytes保留receivedData[14]receivedData[15]的值
意思是,如果是receivedData[14]==0x07receivedData[15]==0xBB,则结果为twoBytes=0x07BB

最佳答案

twoBytes = receivedData[14] << 8 | receivedData[15];<< 8表示左移8位(二进制;即2位十六进制),实际上是将值乘以64。这意味着0x0007变为0x0700

然后|将它与另一个值一起or,本质上将其设置为0x07bb

10-04 15:08