У меня есть 2 символа.2 Короткие буквы в C
Char 128
и Char 2
.
Как превратить эти символы в короткие 640
в 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
. Какой предпочтительный метод?
С вашей модификации, это выводя '32770' вместо' 640'. –
Это было бы до того, что у вас есть два символа. 32770 = 128 << 8 | 2 и 640 = 2 << 8 | 128. Если вы хотите это другим способом, просто переключите места смещения и смещения + 1. – qaphla
@qalpha Что на земле ... Я имею их в правильном порядке [128, 2], но заменяя полученные значения. Что с этим? –