Если ваш процесс требует значительных вычислительных ресурсов и вы хотите сэкономить время (особенно если вы работаете со встроенными системами), я предлагаю использовать union / struct. Это снимает нагрузку с левого и правого сдвига.
union{
unsigned int ui32;
struct{
unsigned char ll;
unsigned char lh;
unsigned char hl;
unsigned char hh;
}splitter;
}combine;
combine.splitter.ll = 0x78;
combine.splitter.lh = 0x56;
combine.splitter.hl = 0x34;
combine.splitter.hh = 0x12;
printf("This is the combined Value: %d", combine.ui32);
Это должно работать. Если кто-то считает, что это не следует использовать, сообщите мне причину.
Ура!
Адитья