Код
struct U64 {
uint32_t low, hi;
};
ну и дальше пишете набор необходимых вам арифметических операций
Если у вас просто биты, то возможно будет удобнее работать с массивом байт
Код
struct Mask {
byte d[8];
};
void mask_clear(Mask *m) { memset(m->d, 0, sizeof(m->d); }
void mask_set(Mask *m, unsigned no) { m->d[no/8] |= (1<<(no%8)); }
void mask_clear(Mask *m, unsigned no) {}
void mask_put(Mask *m, unsigned no, bool v) {}
bool mask_test(Mask *m, unsigned no) {}