我有2个字符。
Char 128
和查尔2
.
如何将这些字符转为 Short640
in C?
我试过了
unsigned short getShort(unsigned char* array, int offset)
{
short returnVal;
char* a = slice(array, offset, offset+2);
memcpy(&returnVal, a, 2);
free(a);
return returnVal;
}
但这不起作用,它只是将其显示为128
。首选方法是什么?
将两个字符 a 和 b 转换为短 c 的最简单方法可能如下:
short c = (((short)a) << 8) | b;
为了适应你所拥有的,最简单的方法可能是这样的:
unsigned short getShort(unsigned char* array, int offset)
{
return (short)(((short)array[offset]) << 8) | array[offset + 1];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)