如何将unsigned char数组转换为无符号短整数

时间:2015-10-08 13:00:46

标签: c++

如何将4个字符的unsigned char数组转换为unsigned short int。每个字符都从UART接收并存储在unsigned char

的缓冲区中

1 个答案:

答案 0 :(得分:3)

从评论中,看起来你有四个字节的输入,每个输入都有一个4位半字节。在这种情况下,您可以使用以下内容:

unsigned short int result;
unsigned char buffer[4];

...

result = buffer[0] << 12;
result |= buffer[1] << 8;
result |= buffer[2] << 4;
result |= buffer[3];

此代码假定每个字符的高半字节为零。对于小端输入,将索引反转为降序。