Scusate ancora, ma ho provato a scrivere questo codice per farmi stampare la data attuale in nanosecondi, però mi viene negativo (-275347566)
FILETIME filetime;
GetSystemTimeAsFileTime(&filetime);
ULONGLONG timeATS;
timeATS = (((ULONGLONG) filetime.dwHighDateTime) << 32) + filetime.dwLowDateTime;
[b]printf("%d\n",timeATS);[/b]
-La prima riga di codice dichiara una struttura che è forata da due locazioni di memoria di tipo DWORD, ossia contiene la parte alta e la parte bassa (Se non sbaglio DWORD è a 32 bit? Quale differenza c'è tra DWORD ed INT?Sono tutti e due a 32 bit?).
-La seconda riga recupera la data e tempo corrente del sistema in formato UTC
-La terza riga dichiara una variabile di tipo ULONGLONG (Se non sbaglio è a 64 bit unsigned?)
-La quarta riga somma le due DWORD, ovvero la parte alta e la parte bassa(però non ho capito perchè usa
<< 32 ).
Per stampare il la data riportata in nanosecondi devo mettere %lu e non %d?
Correggetemi se sbaglio Grazie