Wertebereich überprüfen
-
Ich habe einen Taschenrechner programmiert und er funktioniert bereits ganz gut. Das einzige Problem das ich habe, das der Wertebereich eines "signed long int" überschritten werden kann, ohne das mein Programm darauf reagiert.
Wie also kann ich überprüfen, ob der Wertebereich einer solchen Variable überschritten wurde?
-
BackusNaur schrieb:
Ich habe einen Taschenrechner programmiert und er funktioniert bereits ganz gut. Das einzige Problem das ich habe, das der Wertebereich eines "signed long int" überschritten werden kann, ohne das mein Programm darauf reagiert.
Wie also kann ich überprüfen, ob der Wertebereich einer solchen Variable überschritten wurde?
c++ <long int> benötigt auf Intel CPUs 4 Bytes. Also ist deine Maximale Zahl 2^(4*8)-1 = 4294967295, wenn du nun vorzeichenbehaftete Zahlen hast, dann ist die Maximale Zahl halt <Max Zahl> : 2 - 1 = 2147483647 ( -2147483648....2147483648).
Sollte so stimmen

gegebenenfalls kannst du die Speichergrösse deiner Variable mit 'sizeof()' ermitteln