hallo,
der Datentyp
soll doch eigentlich von o bis 0 … 18446744073709551615 zählen.
Habe es für meinen Code verwendet.
Passiert jedoch Folgendes:
Code
counter mikrosekunden
1078 2136952041
1079 2138952093
1080 2140952154
1081 2142952195
1082 2144952257
1083 2146952314
1084 18446744071563536683
1085 18446744071565536730
1086 18446744071567536790
realisiert mit:
Code
unsigned long long usecs = ((unsigned long long)d.tv_nsec / 1000) + (d.tv_sec * 1000000);
f=fopen("document.txt","a+");
fprintf(f, "%d %llu\n", Index, usecs);
Wie kann man da so einen riesen Sprung erklären
Beim Datentyp
Code
unsigned long usecs = ((unsigned long)d.tv_nsec / 1000) + (d.tv_sec * 1000000);
f=fopen("document.txt","a+");
fprintf(f, "%d\t\t%ld\n", Index, usecs);
passiert folgendes:
Es geht also bei so einer hohen Zahl los.
Welchen Datentyp nehme ich denn da, damit ich eine saubere Zählung bekomme?