Hi Leute,
ich habe in 2 Wochen meine Java Klausur und wollte euch mal bei ner Kleinigkeit was fragen.
Es geht um das Thema Typcasting, also implizit und explizit.
Soweit komme ich da auch ganz gut zu recht, aber bei dem expliziten in dem man von einem grßen ganzzahligen Wert zu einen kleineren castet bin ich noch nicht so aufm Baum.
Bspl. int 257 in byte .
In der Lösung wird angegeben das 257 im Binärsystem 100000001 ist, also 9 Stellen.
byte hat 8 Bits.Deshalb wird aus der 257 -> 00000001.
Das erste Bit wird abgeschnitten.
So jetzt der Punkt der mich verwirrt.
Im Skript steht : Bei der Konvertierung eines größeren Ganzzahltyps in einen kleineren werden die oberen Bits abgeschnitten und als Bsp. steht dort noch :
int i = 385; byte a = (byte) i; ergibt a = -127
Fragen :
1. Warum wird oben bei der 257 die eins am Anfang abgeschnitten und nicht am Ende?
Im Skript steht doch das die oberen Bits abgeschnitten werden.
2. Das Bspl. Nr. 2 , also die 385 nach -127 als byte Wert.Kann mir jemand erklären wie man darauf kommt?
3. Kann oder muss man eigentlich diese Umwandlung in die Binärwerte aus dem Kopf können?
Wollte nämlich die 385 als Binärwert
darstellen so wie es mit der 257 gemacht wurde, aber die Binär Rechner die ich gegoogelt habe z.B.
NickCiske.com | Binary - it's digitalicious!
hier spuckt bei dem Wert 257 viel längere Zahlen raus als ich auf meinem Blatt habe ( 257 = 00110010 00110101 00110111 00001101 00001010 )
dankeschön
Grüße
ich habe in 2 Wochen meine Java Klausur und wollte euch mal bei ner Kleinigkeit was fragen.
Es geht um das Thema Typcasting, also implizit und explizit.
Soweit komme ich da auch ganz gut zu recht, aber bei dem expliziten in dem man von einem grßen ganzzahligen Wert zu einen kleineren castet bin ich noch nicht so aufm Baum.
Bspl. int 257 in byte .
In der Lösung wird angegeben das 257 im Binärsystem 100000001 ist, also 9 Stellen.
byte hat 8 Bits.Deshalb wird aus der 257 -> 00000001.
Das erste Bit wird abgeschnitten.
So jetzt der Punkt der mich verwirrt.
Im Skript steht : Bei der Konvertierung eines größeren Ganzzahltyps in einen kleineren werden die oberen Bits abgeschnitten und als Bsp. steht dort noch :
int i = 385; byte a = (byte) i; ergibt a = -127
Fragen :
1. Warum wird oben bei der 257 die eins am Anfang abgeschnitten und nicht am Ende?
Im Skript steht doch das die oberen Bits abgeschnitten werden.
2. Das Bspl. Nr. 2 , also die 385 nach -127 als byte Wert.Kann mir jemand erklären wie man darauf kommt?
3. Kann oder muss man eigentlich diese Umwandlung in die Binärwerte aus dem Kopf können?
Wollte nämlich die 385 als Binärwert
darstellen so wie es mit der 257 gemacht wurde, aber die Binär Rechner die ich gegoogelt habe z.B.
NickCiske.com | Binary - it's digitalicious!
hier spuckt bei dem Wert 257 viel längere Zahlen raus als ich auf meinem Blatt habe ( 257 = 00110010 00110101 00110111 00001101 00001010 )
dankeschön
Grüße