Folgende Aufgabenstellung:
Schreiben Sie ein Programm, das eine ganze Zahl vom Typ
int in Binärdarstellung (32 Bit) ausgibt. Benutzen Sie hierzu die Bitoperatoren & und <<.
Tipp: Das Bit mit der Nummer i (Nummerierung beginnt bei 0) in der Binärdarstellung von
zahl hat den Wert 1 genau dann, wenn der Ausdruck zahl & (1 << i) von 0 verschieden ist.
Die Lösung lautet wie folgt:
Ich habe nun zwei Fragen:
Die erste Frage ist: Was genau macht diese Anweisung ? : zahl & (1 << i))
Die zweite Frage ist: Seit wann können Strings in diese Anführungszeichen ' ' gepackt werden? Ich dachte da geht nur " ". Wenn ich System.out.print('0') in einem anderen Programm mache, bekomme ich einen Fehler.
Vielen Dank im Voraus 🙂
Schreiben Sie ein Programm, das eine ganze Zahl vom Typ
int in Binärdarstellung (32 Bit) ausgibt. Benutzen Sie hierzu die Bitoperatoren & und <<.
Tipp: Das Bit mit der Nummer i (Nummerierung beginnt bei 0) in der Binärdarstellung von
zahl hat den Wert 1 genau dann, wenn der Ausdruck zahl & (1 << i) von 0 verschieden ist.
Die Lösung lautet wie folgt:
Java:
public class Bits {
public static void main(String[] args) {
int zahl = 4711;
for (int i = 31; i >= 0; --i) {
if ((zahl & (1 << i)) != 0)
System.out.print('1');
else
System.out.print('0');
if (i % 8 == 0)
System.out.print(' ');
}
System.out.println();
}
}
Ich habe nun zwei Fragen:
Die erste Frage ist: Was genau macht diese Anweisung ? : zahl & (1 << i))
Die zweite Frage ist: Seit wann können Strings in diese Anführungszeichen ' ' gepackt werden? Ich dachte da geht nur " ". Wenn ich System.out.print('0') in einem anderen Programm mache, bekomme ich einen Fehler.
Vielen Dank im Voraus 🙂