Diese Berechnungerfolgt in uint16_t. Für line_values[7] z.B. läuft das schon für alles >8 über.Code:line_values[i] * (i+1) *1000
Diese Berechnungerfolgt in uint16_t. Für line_values[7] z.B. läuft das schon für alles >8 über.Code:line_values[i] * (i+1) *1000
MfG
Stefan
Ich hab auch schon probiert die rechte Seite als long zu casten, hat aber nicht wirklich was geändert...
Code:wa_numerator += (long)(line_values[i]) *((i+1) *1000); bzw. wa_numerator += (long)(line_values[i] *((i+1) *1000));
Was soll das "bzw." denn bedeuten? Die beiden Zeilen sind in ihrem Verhalten grundverschieden. Was genau hast du denn nun ausprobiert?
MfG
Stefan
Ich hab beide Varianten probiert. Meinem Verständnis nach sollte die erste eigentlich richtig sein![]()
Dann liefere doch mal ein konkretes Beispiel. Was steht in line_values und was kommt als Ergebnis raus?
MfG
Stefan
Lesezeichen