Hallo zusammen.....
Ich habe eine Frage über Casting in JAVA, vorallem über das Expliziten Casting
Z.B
Ok bis dahin ist das resultat noch logisch....
Mein Problem ist jetzt aber ein anderen Code
Wieso komme ich aber beim zweiten -1 anstatt 255
Ich habe eine Frage über Casting in JAVA, vorallem über das Expliziten Casting
Z.B
Code:
public class Casting {
public static void main(String[] args) {
byte byte1;
short short1;
short1 = 383; // dieser Wert ist Binär: 101111111
// Hier kürze ich den Binären Wert auf 8 also 01111111
byte1 = (byte) short1
// Ausgegeben wird 127, bis hier ist es ja logisch da das
// Bit ganz links (256) gelöscht wird, und somit 127 übrig
// bleibt wenn alle übrigen Bits zusammengezählt werden.
System.out.print(byte1)
Mein Problem ist jetzt aber ein anderen Code
Code:
public class Casting2 {
public static void main(String[] args) {
byte byte1;
short short1;
short1 = 511; // dieser Wert ist Binär: 111111111
// Hier kürze ich den Binären Wert auf 8 also 11111111
byte1 = (byte) short1
// Ausgegeben wird hier aber -1, wenn ich das gleich
// ausrechnen sollte wie das obere
// müsste ich auf 255 kommen
System.out.print(byte1)