logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

BASCOM: Obliczanie funkcji trygonometrycznych dla kąta a

karbon 29 Lis 2005 19:44 2747 3
REKLAMA
  • #1 2038300
    karbon
    Poziom 21  
    Posty: 586
    Pomógł: 4
    Ocena: 44
    Jak w temacie, czy można spod bascoma obliczyć wartosć wybranej funkcji trygonometrycznej, dla wybranego kąta a ?
  • REKLAMA
  • #2 2038844
    robson_s-ec
    Poziom 15  
    Posty: 98
    Pomógł: 7
    Ocena: 4
    Goto Help

    A poza tym jeśli potrzebujesz funkcji trygonometrycznych to chyba to już jest poważny projekt, więc może lepiej C?
  • REKLAMA
  • #3 2038885
    karbon
    Poziom 21  
    Posty: 586
    Pomógł: 4
    Ocena: 44
    Projekt... kalkulatora :D
    W helpie bascoma coś tam znalazłem, ale nie rozumiem na podanym przykładzie o co chodzi :/

    Mam kolejne pytanie.
    Czy jest taki typ danych w bascomie, który przechowa liczbę o długości 16 znaków?
  • #4 2039559
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 134
    Hmmmm, liczba o 16 znakach to dość nieprecyzyjne określenie :] Jeżeli chodzi Ci o przechowanie 16 cyfr, każdą z osobna, to oczywiście zwykły łańcuch tekstowy, czyli STRING (chyba tak to w bascomie sie zwie).
    Ale na stringach nie da się wykonywać operacji matematycznych na stringach (no dobra, da się, ale trzeba wszystko samemu od zera pisać :] ), operacje matematyczne wykonuje się na liczbach w formacie zmiennoprzecinkowym, w bascomie SINGLE i DOUBLE, podobnie w C, z tym że np. w AVR-GCC typ double jest traktowany tak samo jak single (czyli de facto typ double nie istnieje).

    Inna sprawa - ze względu na ogromną pamięciożerność bascoma będziesz potrzebował conajmniej kilkunastu kB flasha, żeby upchnąć tam wszystkie funkcje. C pod tym względem jest o wiele bardziej wydajniejszy.

    A co do ilości cyfr, to z typu single można "wycisnąć" tak około 7 cyfr - mantysa 23 bity + 1 bit ukryty daje max. 7 cyfr + kawałek ósmej.
    Z formatu double - 52 bity mantysy + jeden bit ukryty daje 15 cyfr + prawie cała szesnasta.

    Jeżeli chcesz zrobić kalkulator, to weź też pod uwagę fakt, że język programowania niekoniecznie musi obsługiwać wszystkie wyjątki przy działaniach na liczbach zmiennoprzecinkowych, np. po dzieleniu przez zero nie wywali błędu, tylko jakiś do niczego nieprzydatny wynik.
    Równierz może nie być pełnej zgodności ze standardem (zazwyczaj nie ma, szczególnie jeśli chodzi o µC, gdzie każdy bajt się liczy) i w związku z tym np. po jakiejś operacji wynik może być np. zapisany w postaci nieznormalizowanej, czego efektem będzie większy błąd obliczeń.

    Zadanie domowe:
    Przeczytać:
    http://babbage.cs.qc.edu/courses/cs341/IEEE-754references.html
    http://www.validlab.com/goldberg/paper.pdf
    a najlepiej to:
    http://www.google.pl/search?num=50&hl=pl&q=fl...oint+format+mantissa+exponent&btnG=Szukaj&lr=
REKLAMA