Das natürlich in Kombination bzw. Ergänzung mit deinem Code....
Wie kann man das jetzt so umformen, dass es auch angefügt wird....
Was fehlt da noch, eine Schleife??? Und wie fügt man das zusammen ohne, dass das noch überladen wird und dann verfälschte Werte noch rauskommen...
Würdemich um deinen Rat sehr freuen
Karlito
Und die Ausgabe fehlt.
Karlito
Es erfüllt die gesamte Aufgabe. Es werden nur keine führenden nullen ans ende der invertierten zahl angefügt.
Und wenn ja kann man das besser optimieren, bzw. das size of trennen von der for Klammer...
Das soll doch die 1en zählen und gleichzeitig den Bitcode rückwärts ausgeben oder?
Wenn , nein, gib mir auch dazu tipps
Karlito
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
count = 0
inverse = 0
while (zahl)
{
inverse <<= 1
inverse += zahl & 1
zahl >>=1
count++
}
user684
Bits verschieben
Ich brauche dringend eure Hilfe bei einer Aufgabe, in der man die Anzahl(einer eingegeben Zahl) der vorkommen Einsen im Bitmuster zählt, die Reihenfolge der Bits (umgekehrt) in einer neuen Variable speichert-> Dann Ausgabe im Hexadezimalsystem...
Und wie macht man das so, dass das für eine beliebige eingebene Zahl funktioniert(z.B. cin >>)
Meine Ideen
Ich deklariere die Variablen bitanzahl, deklariere Anzahl für die 1 und 0
Per for Schleife und size of und Verknüpfung mit dem bitmuster= 00000000 zurückführen wieviele einser das Bitmuster hat