Fortlaufende binäre 1 von der Dezimalzahl

Herausforderung

Ich wurde aufgefordert, ein Programm zu schreiben, um die Anzahl der binären Einsen für die angegebene Dezimalzahl zu ermitteln.

Beispiel

Sample Input 8
Sample Output  1

Die binäre Darstellung von 8 ist 1000
Die maximale Anzahl von Einsen ist 1.

Vor der Arbeit

Normalerweise ziehe ich es vor, die Schritt-für-Schritt-Anleitung zu erstellen, bevor ich mit dem Codieren beginne. Ich würde jedem empfehlen, dies selbst zu tun. Kommen Sie mit Ihren eigenen Schritten.
1> Sie müssen die Dezimalzahl in eine Binärzahl umwandeln
2> Lernen Sie die Anzahl der aufeinanderfolgenden Einsen im binären Ergebnis kennen

Sich nähern

Eine der besten Möglichkeiten, dies zu erreichen, ist die Verwendung des Und-Operators (&) und des BitShift-Operators (<<), um dies zu erreichen.
Die Wirkung des Konzepts besteht darin, dass jede fortlaufende 1 für jede Folge von aufeinanderfolgenden 1en entfernt wird.

Ausschnitte

while(n != 0){
            n = (n & (n << 1));
            count++;
        }

Ich hoffe es hilft! Prost

Similar Posts

Leave a Reply

Your email address will not be published.