Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C18] kilka działań na float'ach = syntax error

poorchava 27 Mar 2011 23:50 1109 2
  • #1 27 Mar 2011 23:50
    poorchava
    Poziom 18  

    Niestety jestem zmuszony do użycia w kodzie liczb zmiennoprzecinkowych. Kod typu

    Code:
    float foo=0.0;
    
    float bar=56.3;
    foo=123.5/bar;

    kompiluje się i działa normalnie, natomiast
    Code:
    float foo=0.0;
    
    float bar=56.3;
    float wtf=0.0539;
    foo=123.5/(bar*wtf);

    Powoduje syntax error na tej ostatniej linijce. W dokumentacji kompilatora nie znalazłem nic o tym, że nie można wykonywać kilku operacji matematycznych w jednym poleceniu.

    O co tu chodzi? Jest jakaś opcja, którą powinienem zaznaczyć? ewentualnie jakaś komenda kompilatora czy coś takiego? Mikrokontroler to 18f4550.


    edit:
    Oczywiście, mogę wykonywać działania po jednym po kolei, i tak to się pewnie skończy, ale zwyczajnie się zastanawiam czemu występuje ten błąd.

    kolejna sprawa:
    czy w C18 działają zmienne typu "long long" (unsigned int 64-bit)? Kompilator nie wydaje się mieć nic przeciwko, ale nie bardzo mam jak to sprawdzić, bo musiałbym przepisać mnóstwo kodu.

    0 2
  • #2 27 Mar 2011 23:57
    dondu
    Moderator Mikrokontrolery Projektowanie

    Ja używam HI-TECH ale spróbuj rozdzielić spacją znak * od bar i wtf

    A może syntax pochodzi z niewłaściwego zakończenia poprzedzającej linii?

    0