Bitweise Operatoren

Pauli99

Mitglied
Hallo Leute,
Ich bin ein Java-Anfänger und möchte folgende Aufgabenstellung lösen:

· Geben sie diese Zahlen formatiert in Dezimal aus (3 Stellen, führende Nullen).
· Geben sie diese Zahlen formatiert in Hexadezimal aus (2 Stellen).
· Geben sie diese Zahlen formatiert in Binärdarstellung aus (8 Stellen, rechtsbündig als Datentyp String, verwenden sie die Methode Integer.toBinaryString(...)).
· Verknüpfen sie die letzte zufällig erzeugten Zahl mit den bitweisen Operatoren AND (&) mit 255, ODER (|) mit 1 und XOR(^) mit 255
. Geben sie das Ergebnis in Dezimal/Hexadezimal und Binär aus und überprüfen sie das Ergebnis

Beispiel:
Uebung 18
- Bitweise Operatoren
Bitte die Anzahl der Zufallszahlen <1
- 9>:3
Zufallszahlen:
Dez: 160 Hex: A0 Bin: 10100000
Dez: 041 Hex: 29 Bin: 101001
Dez: 239 Hex: EF Bin: 11101111
Logische Verknuepfung:
Dez: 239 Hex: EF Bin: 11101111
---
AND
Dez: 239 Hex: EF Bin: 11101111
---
OR
Dez: 016 Hex: 10 Bin: 10000
---
XOR

Ein erster Lösungsversuch von mir sieht in etwa so aus:
Java:
Scanner in = new Scanner (System.in);
int anzahl, zufallszahl =0, ergAnd =255, ergOr =1, ergXor=255;
String binarystring;
System.out.println("Bitte die Anzahl der Zufallszahlen: ");
anzahl =in.nextInt();
if (anzahl>=1 && anzahl<=9){
  System.out.println("Zufallszahlen: ");
  for (int i =1; i<=anzahl; i++){
    zufallszahl = (int) (Math.random() * 256);
    binarystring = Integer.toBinaryString(zufallszahl);
    System.out.format("Dez: %03d Hex: %02X Bin: %8s%n",  zufallszahl, zufallszahl,  binarystring);
  }
  ergAnd = ergAnd & zufallszahl;
  ergOr = ergOr | zufallszahl;
  ergXor = ergXor ^ zufallszahl;
  System.out.println();
  System.out.println("Logischverknüpfung");
  binarystring = Integer.toBinaryString(ergAnd);
  System.out.format("Dez: %03d Hex: %02X Bin: %8s   --- AND%n", ergAnd, ergAnd, binarystring);
  binarystring = Integer.toBinaryString(ergOr);
  System.out.format("Dez: %03d Hex: %02X Bin: %8s   --- OR%n", ergOr, ergOr, binarystring);
  binarystring = Integer.toBinaryString(ergXor);
  System.out.format("Dez: %03d Hex: %02X Bin: %8s   --- Xor%n", ergXor, ergXor, binarystring);
  System.out.println(Integer.toBinaryString(-5) + " = " + (~5+1));
  System.out.format(" R = %.2f" , 1.0/3);
}else{
  System.out.println("Falsche Anzahl (" + anzahl + "), " + "Programm beendet");
}
Mein Hauptproblem ist, dass ich mit der Ausgabeform System.out.format noch nicht sehr vertraut bin.
Ich hoffe Ihr könnt mir weiterhelfen, ich komme nicht auf den Fehler.
Mit freundlichen Grüßen pauli99
 

Anhänge

Zuletzt bearbeitet von einem Moderator:
Das nächste mal, wenn du hier etwas postest, dann bitte FORMATIERE deinen Text, sonst lösche ich einfach deinen Post.

- Angaben, die zusammengehören auf die gleiche Zeile!
- Java-Code kommt in Java Tags [noparse]
Java:
 /* JAVA-CODE */
[/noparse]

Alles was du brauchst um die Formatierung der Ausgabe zu verstehen steht in der API-Dokumentation.
 
ok, danke.
werde ich machen und mir gleich die formatierungsvorgaben durchschauen! 🙂

jetzt hoffe ich noch auf einen tipp zu meinem problem 🙂
 

Neue Themen


Zurück
Oben