Да, по-разному. Можно так:
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]; //