целое число — устанавливает верхний и нижний байты (короткого целого) в переполнении стека

У меня есть проблема для установки верхних и нижних байтов (короткий Int).
пожалуйста, посмотрите на мой код, он просто возвращает номер 1, но должен вернуть 55.

int number = 55;
int mynumber = 0;

//convert short int to char.
char upper = number >> 8;
char lower = number && 8;

//convert char to short int .
mynumber = (mynumber & 0xff00) | lower;
mynumber = (mynumber & 0x00ff) | (upper << 8);

printf("%i",mynumber);

1

Решение

lower расчет неверен:

char lower = number & 0xff;
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]