Witam,
Mój problem dotyczy ATmegi 128 (język C) i przedstawia się następująco: mam dwie daty (w każdej z nich zapisany jest rok, miesiąc, dzień, godzina, minuta, sekunda, milisekunda - w sumie 7 bajtów, rok to tylko końcówka do roku 2000) i chcę zrobić porównanie, która z tych dat jest większa. Można przeliczyć wszytko na milisekundy, dodać i porównać:
Jednak zajmuje to sporo czasu.
Czy zna ktoś może bardziej optymalny sposób na porównanie tych dwóch dat?
Pozdrawiam,
maly216
Mój problem dotyczy ATmegi 128 (język C) i przedstawia się następująco: mam dwie daty (w każdej z nich zapisany jest rok, miesiąc, dzień, godzina, minuta, sekunda, milisekunda - w sumie 7 bajtów, rok to tylko końcówka do roku 2000) i chcę zrobić porównanie, która z tych dat jest większa. Można przeliczyć wszytko na milisekundy, dodać i porównać:
long long data1_sum;
data1_sum = 0;
data1_sum += (long long)data1[milisekunda];
data1_sum += (long long)data1[sekunda]*99;
data1_sum += (long long)data1[minuta]*99*60;
data1_sum += (long long)data1[godzina]*99*60*60;
data1_sum += (long long)data1[dzien]*99*60*60*24;
data1_sum += (long long)data1[miesiac]*99*60*60*24*30;
data1_sum += (long long)data1[rok]*99*60*60*24*30*365;Jednak zajmuje to sporo czasu.
Czy zna ktoś może bardziej optymalny sposób na porównanie tych dwóch dat?
Pozdrawiam,
maly216