Да, по-разному. Можно так:
char LowByte, HighByte;
unsigned Word;
....
LowByte = Word; // Разделить слово на байты
HighByte = Word >> 8; //
....
Word = (HighByte<<8) + LowByte // Объединить байты в одно слово
Можно так
typedef union {
usigned word;
char bytes[2];
}
unsBytes;
....
unsBytes MyWord;
.......
MyWord.word = Word; // Доступ к всем 16 разрядам
LowByte = MyWord.bytes[0]; // Доступ к отдельным байтам переменной
HighByte = MyWord.bytes[1]; //