Ei bine, o modalitate este să o compilați ca x64 cu VS2008
Aceasta se întâmplă așa cum v-ați aștepta:
int normalInt = 5;
unsigned long long int num=285212672;
printf(
"My number is %d bytes wide and its value is %ul.
A normal number is %d \n",
sizeof(num),
num,
normalInt);
Pentru codul de 32 de biți, trebuie să folosim specificatorul de format __int64 corect% I64u. Deci, devine.
int normalInt = 5;
unsigned __int64 num=285212672;
printf(
"My number is %d bytes wide and its value is %I64u.
A normal number is %d",
sizeof(num),
num, normalInt);
Acest cod funcționează atât pentru compilatorul VS de 32 și 64 de biți.