我有2個字符。2個字母C短於
Char 128
and Char 2
。
如何將這些字符轉換爲C中的短640
?
我已經試過
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
。什麼是首選方法?
有了您的修改,它的輸出'32770',而不是'640'。 –
這將取決於您擁有兩個字符的順序。32770 = 128 << 8 | 2,並且640 = 2 << 8 | 128.如果你想以另一種方式,只需切換偏移量和偏移量+1的位置。 – qaphla
@qalpha什麼是地球上......我以正確的順序[128,2]讓它們交換工作的值。那是怎麼回事? –