Problem beim Rechnen mit AVR + großen Zahlen

OP #4918084
Hallo zusammen,

ich möchte folgendes in meinem AVR Mega1284p berechnen:

1
double temp = 342309/8388607;
2
double intdb = 20*log10(temp);

Leider klappt das nicht...

Wenn ich 342309/8388607 mit dem Taschenrechner rechne und direkt 
einsetze klappt es allerdings:

1
double intdb = 20*log10(0.04080641756);

Es scheint also irgendwas bei der Division schief zu laufen. Nur was?

So klappt es leider auch nicht:

1
double intdb = 20*log10(342309/8388607);

Vielen Dank schon mal für Eure Mithilfe!!
Gruß
Matthias
Gast
>ich möchte folgendes in meinem AVR Mega1284p berechnen:
>
>double temp = 342309/8388607;
>double intdb = 20*log10(temp);
>Leider klappt das nicht...

Versuchs mal so:

double temp = 342309.0/8388607.0;
double intdb = 20.0*log10(temp);

Double ist beim AVR-GCC aber auch nur float.
Also Single Precision.
OP
Tatsächlich... logisch... heieiei...

So geht es nun:

1
double intdb = 20*log10(rta1/8388607.0);

Danke vielmals für die Hilfe!!

(rta1 entspricht dem oben genannten Wert)

So nun möchte ich den Wert auf dem Display ausgeben:

So gehts, jedoch ohne Nachkommastellen:

1
double(BUFFER, "VALUE: %d",(int)intdb);

bei %f, %lf kommt immer ein ? als Ausgabe...

z.B.:

1
double(BUFFER, "VALUE: %f",intdb);

Vielleicht könnt ihr mir dabei auch noch helfen?
Danke!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.