Bitweise Operatoren

Andreas1090

Neues Mitglied
Moin Zusammen,

ich bin etwas überfordert bei etwas ;(

Wir haben von unserem Prof eine Aufgabe bekommen eine Studentenverwaltung zu schreiben und eine Teilaufgabe ist folgende:

Speichern Sie zu jedem Studenten ab, welche Prüfungen bereits bestanden worden sind. Es
gibt maximal 32 Prüfungen, die von 0 bis 31 durchnummeriert sind. Das Speichern der
bestandenen Prüfungen soll mittels eines einzelnen int-Wertes erfolgen. Verwenden Sie
hierzu die in der Vorlesung vorgestellten Bit-Operationen.

Das ist mein Lösungsansatz zu den bitweisen Operatoren:

Java:
int bestanden = (int)(Math.random()*32); 
for(int c= 0; c<bestanden; ++c){ 
int Test = (int)(Math.random()*32); 
MN [0] = (1<<Test)|MN[0]; }
for (int c=0;c<32;++c){
	if((MN[0]&1<<c) !=0){
	System.out.print (1);}
else {
System.out.print (0);
	}
	
}

Das passt auch so weit. Bekomme dann 32 zufällige 1en und 0en. Meine Schwierigkeit ist grad, wie ich die Werte "zähle" und dies für jeden Studenten berechne. Also das da steht, Student A besteht 12 Prüfungen, Student B besteht 14 Prüfungen etc... Kann mir hier jemand aufs Pferd helfen 😱 😕
 
Hallo,

du könntest in der Schleife im if-Fall die Werte addieren, also auf eine vorher mit 0 initialisierte Variable eine Eins addieren. Dann steht da nach der Schleife die Anzahl der 1-Bits und somit die Anzahl der bestandenden Prüfungen drin 🙂

Gruß

rme
 

Neue Themen


Zurück
Oben