Hi,
public static void main(String[] args) {
char posChar, negChar;
short posShort = 1;
short negShort = -1;
posChar = (char) posShort;
negChar = (char) negShort;
System.out.println("Positiver Char hat den Wert: "+(int)posChar);
System.out.println("Negativer Char hat den Wert: "+(int)negChar);
}
}```
Positiver Char hat den Wert: 1
Negativer Char hat den Wert: 65535
Warum kommt bei der Ausgabe 65535 Zahl raus? Und wenn ich bei der Ausgabe nicht caste, dann kommt dort ??? raus. Kann mir jemand das erklären?(aber so einfach wie möglich :D)
Danke
das ??? kommt weil es kein ASCII Zeichen gibt was dafür passt
und die 65535 kommen wohl zustande weil es nunmal keine Minuswerte bei char/Zeichen gibt
1.Ok, also da es in der ACSII Tabelle, keine Minus Werte gibt, gibt mir das ??? zurück. Richtig?
2. Warum kriege ich aber die Zahl 65535 raus? Welche Bedeutung hat die Zahl? Wieso gibt mir das Programm nicht z.B. Zahl 345674 aus, sondern diese?
Was du alles weißt
Auf Deutsch heisst der Ausdruck 2hoch16 minus 1? Wie kann man das in Java eingeben? Wenn ich genau so 2^16-1 eingebe, bekomme ich 13 raus.
Wenn wir schon bei Mathe sind, was bedeutet das? 1.23E145 (dieses E) ?
Danke
2^16-1 in Java heißt 2 XOR 16 - 1 und das XOR ist auf Binärdaten aus
richtig geschrieben wäre es Math.pow(2,16)-1
E heißt Exponent also 1.23 *10^145 oft ist das E auch klein
Danke !
Komme so genau auf die Zahl 65535.