-
-
Erfahrener Benutzer
Roboter Genie
Wenn zwei zu Multiplizierende Variablen z.B. int-Typen sind, darf das Ergebnis auch maximal int sein. PRESCALER * Hz (256 * 440 = 112.640) übersteigt aber diese 16Bit vom Integer. Dein Compiler sollte deshalb auch die Warnung "integer overflow in expression" ausgeben.
Franzls Variante hingegen funktioniert einwandfrei, da es hierbei zu keinem Overflow kommen kann.
[edit]
Noch eine Alternative:
Wenn Du mindestens einen der beiden Makros/Variablen PRESACLER bzw. Hz als long-Datentypen deklarierst, klappts auch mit der Multiplikation.
[edit]
askazo
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen