Pokial to potrebujes v c/c++ idealne by bolo pouzit union:
union tuple_union{
struct {
__int16_t idx;
__int16_t val;
} as_tuple;
__int32_t as_single_number;
};
mozes potom k rovnakym datam pristupovat pohodlne ako k dvojici 16 bitovych intov a zaroven jednemu 32 bitovemu intu...