Hallo zusammen,
dies ist mein erster Post hier und ich muss direkt so eine dämliche Frage stellen.
Ich habe in einem größeren Projekt das Problem eine Zahl in einem array of char zu haben und diese als long zu benötigen.
Ich rechne die Zahl stellenweise um und dazu benutze ich einen Code, den ich gerne noch posten kann. Ich habe aber mein
Problem eingekreist und den folgenden Code geschrieben, der den oben genannten Fehler produziert:
long rechnen = 0;
void setup()
{
Serial.begin(9600);
rechnen = 4 * 10000;
Serial.print(rechnen);
}
void loop()
{
}
Dieser Code liefert bei mir -25536 statt der erwarteten 40000 auf der seriellen Schnittstelle. Mit den Zahlen 0 - 3
klappt es wie erwartet. Alles darüber liefert falsche Ergebnisse.
Wie kann ich verhindern, dass die Entwicklungsumgebung intern scheinbar eine Integervariable benutzt, anstatt der
von mir definierten long bzw. unsigned long (die hab ich auch probiert).
Vielen Dank für eure Hilfe.
Michael