1. в одном int можно хранить только 1 int
2. зато можно сохранить четыре int8_t или uint8_t ( #include < stdint.h> )
итак, если нужно уметь в отрицательные числа:
int8_t a = 4, b = 7, c = 6;
int32_t x = (c << 16) | (b << 8) | a;
// извлекаем:
a = (x & 0x000000FF);
b = (x & 0x0000FF00) >> 8;
c = (x & 0x00FF0000) >> 16;