Java short und char binär dargestellt?

2 Antworten

Hallo,

Short ist eine ganzzahlige Variable 2 Byte -32768 bis +32768

das erste bit ist vorzeichen, der Rest der Wert also ist die Zahl maximal 2^15

das gesetzte Vorzeichenbit ist -

der Wert ist also -12522, das wird als x ausgegeben

Short hält aber noch eine Tücke bereit, bitte hier nachlesen

Javabeginners - Numerische Datentypen

LG

Harry

Dein Ergebnis für c stimmt schonmal. Für x weiß ich nicht, ob du das per Hand umrechnen sollst oder ob du dafür auch Java benutzen darfst.

In Java gibt es die ByteBuffer Objekte, mit denen du direkt auf den Speicher schreiben kannst und in die primitiven Typen umwandeln kannst:

byte[] xBytes = {(byte) 0b1011_0000, (byte) 0b1110_1010};
byte[] cBytes = {(byte) 0b0000_0000, (byte) 0b0101_1001};

short x = ByteBuffer.wrap(xBytes).getShort();
char c = ByteBuffer.wrap(cBytes).getChar();

System.out.println("x: " + x + " c: " + c);

Für x kommt -20246 raus.