C++ - 将 2 个字符数组元素转换为短整型

Wal*_*ari 3 c++

我有的是这个

char receivedData[27];
short int twoBytes;
Run Code Online (Sandbox Code Playgroud)

我想要的是twoBytes保持值receivedData[14]receivedData[15] 意义,如果receivedData[14]==0x07receivedData[15]==0xBB,结果将是twoBytes=0x07BB

Mar*_*rio 5

twoBytes = receivedData[14] << 8 | receivedData[15];

<< 8表示左移 8 位(二进制;或 2 位十六进制),本质上是将值乘以 64。这意味着0x0007变为0x0700

|然后将其or与另一个值一起使用,基本上将其设置为0x07bb.