Hallo zusammen,
ich habe folgende simple Aufgabe vor mir liegen und komme einfach nicht aufs richtige Ergebnis:
Code:
unsigned int a, b;
unsigned long result;
b = 20000;
a = 50000;
result = 65536 + (b - a);
"unsigned int" ist 16 Bit groß, hat also einen Wertebereich von 0 - 65535. In der Klammer kommt es zum Unterlauf, da 20000 - 50000 negativ ist. Aber ich weiß nicht, wie man damit genau rechnet.
Wie groß hier ein long-Datentyp ist, weiß ich nicht, aber da sollte es nicht zu einem Überlauf kommen.
Könnt ihr mir sagen, wie man mit Unterläufen bzw. wenn es geht auch mit Überläufen rechnen kann?
Einfache Dinge wie 65535 + 1 = 0 bekomme ich hin, aber sobald das so große Zahlen sind, ist mir das zu komplex. *g*
Grüße