B
bruce00
Gast
Hallo liebe Community,
bin neu hier, habe mich gerade eben registriert.
Ich bin neu in Java und habe bisschen mit dem Datentypen rumgespielt. Meine Frage ist folgendes:
es kommt zu einem Überlauf der Datentypen, wenn der Wertebereich überschritten wird. Bei Int und long kann ich das feststellen. Leider bekomme ich bei Byte und short andere Ergebnisse.
(int +Wertebereich + 1) = int - Wertebereich
(int -Wertebereich - 1) = int + Wertebereich
Mit dem Datentyp long passiert genau das gleiche. Nun, wenn ich das für byte und short mache, kriege ich andere ergebnisse(unten):
Ausgabe ist: -129.
Es müsste aber 127 rauskommen, weil der Wertebereich in den plus Bereich rutscht.
Kann mir einer sagen, warum das rauskommt. Habe ich was falsch gemacht.🙁🙁
Danke im Vorraus!
bin neu hier, habe mich gerade eben registriert.
Ich bin neu in Java und habe bisschen mit dem Datentypen rumgespielt. Meine Frage ist folgendes:
es kommt zu einem Überlauf der Datentypen, wenn der Wertebereich überschritten wird. Bei Int und long kann ich das feststellen. Leider bekomme ich bei Byte und short andere Ergebnisse.
(int +Wertebereich + 1) = int - Wertebereich
(int -Wertebereich - 1) = int + Wertebereich
Mit dem Datentyp long passiert genau das gleiche. Nun, wenn ich das für byte und short mache, kriege ich andere ergebnisse(unten):
Java:
byte negWertebereich = -128;
System.out.println("Überlauf");
System.out.println(negWertebereich - 1);
Ausgabe ist: -129.
Es müsste aber 127 rauskommen, weil der Wertebereich in den plus Bereich rutscht.
Kann mir einer sagen, warum das rauskommt. Habe ich was falsch gemacht.🙁🙁
Danke im Vorraus!