我有一个unsigned char数组,其中包含2个表示有符号整数的元素.如何将这2个字节转换为有符号整数?
编辑:unsigned char数组是小端
解决方法
为了最大限度地提高安全性
int i = *(signed char *)(&c[0]); i *= 1 << CHAR_BIT; i |= c[1];
对于大端.交换c [0]和c [1]为小端.
(说明:我们将c [0]处的字节解释为带符号的字符,然后算术左移它以便携方式,然后加入c [1].)