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