1

i have problem for setting upper and lower bytes of (short int). please look on my code it just return number 1 but must return 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);
user1907603
  • 45
  • 1
  • 7
  • Possible duplicate of [Spliting an hex into 2 hex values](http://stackoverflow.com/questions/25811662/spliting-an-hex-into-2-hex-values) – cyberponk Jan 19 '17 at 06:49

1 Answers1

4

The lower calculation is wrong:

char lower = number & 0xff;
NPE
  • 486,780
  • 108
  • 951
  • 1,012