O, senza usare il cast e usando direttamente literal del tipo giusto:
codice:
unsigned long long  byte=1048608ULL*4096ULL;
(qui non fa differenza, ma se vuoi specificare direttamente un tipo che sfora dalle dimensioni di un int devi usare i literal di tipo giusto)

---EDIT---
Ecco, linoma mi ha anticipato.