#include int bit_merge(unsigned short lower, unsigned short upper); int main() { unsigned short hn1 = 0x1234; unsigned short hn2 = 0xabcd; int result; result = bit_merge(hn1, hn2); printf("\nmerging 0x%x and 0x%x results in 0x%x\n", hn1, hn2, result); return 0; } int bit_merge(unsigned short lower, unsigned short upper) { int merged = ((int)upper << 16) | lower; return merged; }