Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C AVR - Jak najdokładniejsze obliczenia

m.biruta 13 Lis 2012 20:12 720 3
  • #1 13 Lis 2012 20:12
    m.biruta
    Poziom 16  

    Witam,
    Potrzebuję wykonać jak najdokładniejsze obliczenia na liczbach, gdzie w wyniku zostaje wielokrotnie reszta, a następnie zamienić to na format int, który będę mógł wykorzystać jako czas w postaci timestamp. Poniżej podaję kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Przy tym kodzie gdzie nie jest brana pod uwagę "reszta" na końcu jest znaczna różnica. Jak można to obejść?

  • #2 13 Lis 2012 20:29
    stanleysts
    Poziom 27  

    To:

    tempAmount = 12345/1000*35;

    da 12*35 więc już jest strata, to jest działanie na liczbach całkowitych.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

  • #3 14 Lis 2012 21:31
    superduo
    Poziom 13  

    Na ośmio-bitowcu zapomnij o obliczeniach dokładniejszych niż do 4 liczb po przecinku...

  • #4 16 Lis 2012 12:11
    Eagle
    Poziom 23  

    Cytat:
    Na ośmio-bitowcu zapomnij o obliczeniach dokładniejszych niż do 4 liczb po przecinku...



    Jak dla mnie dokładność obliczeń jest ograniczana tylko przez pamięć programu i danych oraz czas przeznaczony na obliczenia. Przecież algorytmy do obliczeń liczb nie zależą od hardware'u.
    A jeśli rozpiętość obliczeń nie jest zbyt duża to zamiast zmiennoprzecinkowych obliczeń, wykonuj obliczenia na liczbach stało-przecinkowych Kod stałopozycyjny

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME