将无符号字符转换为有符号整数

前端之家收集整理的这篇文章主要介绍了将无符号字符转换为有符号整数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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].)

猜你在找的C&C++相关文章