Problem AVR Studio 4 - Variablen

OP #1089172
Hallo,

ich habe ein kleines Problem mit meinem AVR Studio 4 ich lese 2 ADCs ein 
und will diese multiplizieren dafür speichere ich sie zuerst in einer 
int-Variablen und multipliezie sie dann und speichere das Ergebnis in 
einer unsigned long variable leider  gibt der Compiler mir als Ergebnis 
immer 0 oder 64512  zurück obwohl der Größtmöglichste wert 1024*1024 
ist. Hat einer von euch eine Ahnung woran das liegt?


Gruß

Sascha
Persönliche Seite
Sascha G. wrote:
> ich habe ein kleines Problem mit meinem AVR Studio 4 ich lese 2 ADCs ein
> und will diese multiplizieren dafür speichere ich sie zuerst in einer
> int-Variablen und multipliezie sie dann und speichere das Ergebnis in
> einer unsigned long variable leider  gibt der Compiler mir als Ergebnis
> immer 0 oder 64512  zurück obwohl der Größtmöglichste wert 1024*1024
> ist. Hat einer von euch eine Ahnung woran das liegt?

Poste mal den Code. Eventuell musst du da mal casten.
Gast
Das Ergebnis einer int-Multiplikation ist auf 32767 (bzw. 65535 bei
unsigned int) beschränkt. Du musst mindestens einen der beiden Faktoren
nach long (oder unsigned long) casten, damit die Multiplikation
ebenfalls als long ausgeführt wird. Also bspw. so:
1
  int adcwert1, adcwert2;
2
  long ergebnis;
3

4
  ergebnis = (long)adcwert1 * adcwert2;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.