Hallo,
ich habe im Oktober angefangen Informatik zu studieren und war schon seit langer Zeit auf der suche nach einem guten und aktiven Java Forum. Jetzt bin ich seit gestern hier gelandet und eig. ganz zufrieden.
Ich habe eine Aufgabe bekommen und komme leider nicht mehr weiter. Ich könnte es jetzt in einem Compiler laufen lassen, aber ich will lieber selber auf die Ergebnisse kommen. Könnte mir bitte jemand erklären, wie ich auf die Lösungen von a, b, c, d und e komme? Bei b bin ich mir relativ sicher, dass dort 0x1234AFFE als Ergebnis angezeigt wird, da es im durchlauf nicht verändert wird. Bei c ist es so, dass 1 draufaddiert wird, so erhält man 0x00000000. Aber bei den anderen komme ich leider nicht mehr weiter. Es wäre nett, wenn ich nicht direkt die Ergebnisse gesagt bekomme.
ich habe im Oktober angefangen Informatik zu studieren und war schon seit langer Zeit auf der suche nach einem guten und aktiven Java Forum. Jetzt bin ich seit gestern hier gelandet und eig. ganz zufrieden.
Ich habe eine Aufgabe bekommen und komme leider nicht mehr weiter. Ich könnte es jetzt in einem Compiler laufen lassen, aber ich will lieber selber auf die Ergebnisse kommen. Könnte mir bitte jemand erklären, wie ich auf die Lösungen von a, b, c, d und e komme? Bei b bin ich mir relativ sicher, dass dort 0x1234AFFE als Ergebnis angezeigt wird, da es im durchlauf nicht verändert wird. Bei c ist es so, dass 1 draufaddiert wird, so erhält man 0x00000000. Aber bei den anderen komme ich leider nicht mehr weiter. Es wäre nett, wenn ich nicht direkt die Ergebnisse gesagt bekomme.
Java:
public class BitArithmetics {
public static String HexOut(int i) {
String s = Integer.toHexString(i);
while (s.length() < 8) s = "0" + s;
s = "0x" + s;
return s;
}
public static void main(String[] args) {
System.out.println("Programm gestartet.");
int a = -1;
int b = 0x1234AFFE;
int c = 0xFFFFFFFF; c++;
int d = (b << 16) ^ (b >> 16);
int e = b / 16;
System.out.println("a = " + HexOut(a));
System.out.println("b = " + HexOut(b));
System.out.println("c = " + HexOut(c));
System.out.println("d = " + HexOut(d));
System.out.println("e = " + HexOut(e));
System.out.println("Programm beendet.");
}
}
Zuletzt bearbeitet: