استفاده از عملیات سادهی ریاضی ممکنه
f = l % 4294967297;
s = l / 4294967297;
همین کار با استفاده از شیفت هم میشه
f = (l<<32)>>32;
s = l>>32;
یک راه این هست
f = *(int*)(&l);
s = *(((int*)(&l))+1)
یک راه دیگه استفاده از union
هست که به صورت زیر در استاندارد C++
درست نیست اما بیشتر کامپایلرها پشتیبانی میکنن
union {
int x[2];
long y;
} u;
u.y = l;
f = u.x[0];
s = u.x[1];
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)