Wpis z mikrobloga

#programowanie #cpp #algorytmy
Mam sobie zmienną liczbową jakiegoś typu (np. long long). Opisuje ona średnią czasu w jakichś jednostkach (np. mikrosekundach), czyli np. została obliczona tak:

(1) x = (a + b + c)/3
lub tak:

(2) x = a/3 + b/3 + c/3
I teraz chcę uaktualnić tę średnią, ale znam tylko x i ilość liczb jaka została użyta przy obliczaniu; w tym wypadku 3. I teraz mogę to zrobić tak:

(3) x = (x + d/3)/2
lub tak:

(4) x = x/2 + (d/3)/2
Jeżeli dobrze myślę to używając sposobu (1) i (3), ryzykuję przekroczenie limitu dla danego typu danych, używając (2) i (4), tracę na dokładności, a sprawdzając za każdym razem czy mogę bezpiecznie użyć (1) i (3), tracę na wydajności. Czy mam rację?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach