Вы можете кодировать два 16-битных без знака числа, например:
unsigned int out = (in1 << 16) | in2;
и декодировать их следующим образом:
unsigned int in1 = out >> 16;
unsigned int in2 = out & 0xFFFF;
Все это предполагает, что *Значение 1009 * составляет не менее 32 бит, что in1
и in2
находятся в диапазоне 0-65535, и что unsigned int
может быть отправлено корректно (относительно порядка байтов).