das ist ja alles noch triviales Grundwissen - dazu gehört auch, was bei Überlauf passiert und dass die Nachkommastellen bei Integer-Division abgeschnitten werden
holomino hat aber völlig Recht:
du kannst dir alle deine Fragen selber beantworten, wenn du deine Rechnungen per Serial.println() zur Kontrolle ausgeben lässt.
interessant wird es, wenn du mit
char
rechnest, denn auf AVRs entspricht
char == int8_t (signed)
aber auf ARM (SAM, SAMD) und ESPs ist
char == uint8_t (unsigned) !!
Außerdem unterscheidet sich der Wertebereich von int, short, long je nach der verwendeten MCU.
Besser: <stdint.h> bzw. besser noch <inttypes.h> Datentypen verwenden (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t), denn die funktionieren plattformübergreifend identisch.
Lesezeichen