So I am ables to convert an unsigned int to two bytes and rebuild it no problem.
int myInt = 900; byte myBytes; myBytes = 900/256; myBytes = 900%256; int newInt = myBytes*256+myBytes;
also managed to do it this way
int myInt = 900; byte myBytes; myBytes = (myInt >> 8); myBytes = myInt; int newInt = (myBytes << 8) | (myBytes);
but as soon as i change 900 to -900 i get the result as 64636. I’m sure there must be a simple solution for this but my search of the forum and google only led me to the second method i showed above and it doesn’t work either.