Bitmanipulation |
15.11.2017, 17:00 | Auf diesen Beitrag antworten » | |||||
user684 | Bitmanipulation Man sollte ein Programm schreiben, welches die Einser im Bitmuster auszählt und ausgibt. Dann die Reihenfolge der Bits umgekehrt und den Zahlenwert dann in einer anderen neuen unsigned int Variable speichert und dann beide Zahlen im Hexidezimalform ausgibt. Ich habe das hier versucht, aber leider geht mein Programm nicht, könnt ihr mir bitte helfen?
|
|||||
|
||||||
15.11.2017, 18:13 | Auf diesen Beitrag antworten » | |||||
Karlito | Hallo, Pseudocode der Lösung:
Hinweis: x<<=1 ist das gleiche wie x = x << 1 Anleitung für Ausgabe: http://www.cplusplus.com/forum/windows/51591/ Besten Gruß, Karlito |
|||||
18.11.2017, 09:06 | Auf diesen Beitrag antworten » | |||||
user684 | Tut mir leid, aber ich habe so was schon integriert in meinem Code , aber es fehlt trotzdem noch ein wichtiger Teil, aber ich weiß nicht, wie ich das realisiere.. Und mein int Parameter ist immer überladen und zeigt was außerhalb des Wertebereichs an.... |
|||||
18.11.2017, 09:40 | Auf diesen Beitrag antworten » | |||||
Karlito | Ich habe dir die Grundlage für die gesamte Lösung gepostet. Wenn Du keine konkreten Fragen hast, kann ich dir nicht helfen. Gruß, Karlito |
|||||
Anzeige | ||||||
|
||||||
20.11.2017, 13:34 | Auf diesen Beitrag antworten » | |||||
user684 | Bei mir kam aber ein Überlauf von Integer..... Und viele hatten einen sehr langen Code u.a. auch mit do while Schleife. Braucht man für das Programm wirklich ein paar Zeilen Code? Hab da so meine Zweifel. Trotzdem Danke. |
|||||
20.11.2017, 22:00 | Auf diesen Beitrag antworten » | |||||
as_string | Naja, das Programm hat Karlito ja explizit als Pseudocode gekennzeichnet. Es kommt eine Warnung, wenn man die Laufvariable der for-Schleife als int deklariert. Vielleicht sollte man size_t verwenden oder es würde auch ein "unsigned int" reichen, was man auch bei den anderen Variablen verwenden sollte. Allerdings ist ein Problem die count Variable. Da zählt Karlito bei jedem Schleifendurchlauf hoch, was aber, so wie ich die Aufgabe verstehe, nur passieren sollte, wenn gerade eine 1 an der Reihe ist (also wenn zahl & 1 true ist, allerdings dann vor dem zahl >>= 1 überprüfen!) Gruß Marco |
|||||
20.11.2017, 22:15 | Auf diesen Beitrag antworten » | |||||
Karlito | Ups, da ist mir ein fehler unterlaufen.
|
|