Hallo,
kann mir jemand erklären warum der folgende byte cast eine andere zahl als resultat hat?
der ursprüngliche zahlenwert 255 ist mit einem byte darstellbar (siehe binärdarstellung der zahl),
warum ergibt die selbe(!!!) binärdarstellung in byte eine andere Zahl?
Ich dachte java behandelt die typen byte und char wie int.
Ausgabe:
intWert: 255
intWert (bin): 11111111
!! cast von int nach byte !!
byteWert (bin): 11111111111111111111111111111111
byteWert: -1
Danke+Gruß
Chris
kann mir jemand erklären warum der folgende byte cast eine andere zahl als resultat hat?
der ursprüngliche zahlenwert 255 ist mit einem byte darstellbar (siehe binärdarstellung der zahl),
warum ergibt die selbe(!!!) binärdarstellung in byte eine andere Zahl?
Ich dachte java behandelt die typen byte und char wie int.
Java:
int z = 255;
System.out.println("intWert: " + z );
System.out.println("intWert (bin): " + Integer.toBinaryString(z));
System.out.println("!! cast von int nach byte !!");
byte zb = (byte)z;
System.out.println("byteWert (bin): " + Integer.toBinaryString(zb));
System.out.println("byteWert: " + +zb);
Ausgabe:
intWert: 255
intWert (bin): 11111111
!! cast von int nach byte !!
byteWert (bin): 11111111111111111111111111111111
byteWert: -1
Danke+Gruß
Chris