Das binäre Zahlensystem ist die Grundlage für die Arbeit mit elektronischen Informationen und vielen Computeralgorithmen. Wenn Sie dieses Thema studieren, werden Sie früher oder später mit der Frage konfrontiert, wie viele bestimmte Ziffern in einer Binärzahl enthalten sind. Zum Beispiel, wie viele Stellen sind 1 im Binärdatensatz der Zahl 253? Dies ist nicht nur für Programmierer von Interesse, sondern auch für alle, die Mathematik und Rätsel lieben.
Um dieses Problem zu lösen, können wir einen einfachen und effektiven Ansatz verwenden. Die Binärzahl 253 wird wie folgt geschrieben: 11111101. Um die Anzahl der Ziffern 1 zu bestimmen, gehen wir jedes Bit der Zahl durch und zählen die Anzahl der Einheiten.
Beginnen wir mit dem letzten Bit (ganz rechts). Wenn es 1 ist, erhöhen wir die Anzahl der Ziffern um 1. Dann gehen wir zum nächsten Bit und wiederholen diesen Vorgang. Auf diese Weise werden wir jedes Bit der Zahl durchlaufen und die Anzahl der Einheiten zählen.
Die Anzahl der Ziffern 1 im Binärdatensatz der Zahl 253
Führen Sie die folgenden Schritte aus, um die Anzahl der Ziffern 1 im Binärdatensatz der Zahl 253 zu bestimmen:
- Übersetzt die Zahl 253 in ein binäres Zahlensystem.
- Sehen Sie sich jede Ziffer im binären Zahleneintrag an und zählen Sie die Anzahl der Ziffern 1.
Die Zahl 253 in einem binären Zahlensystem würde wie folgt aussehen:
11111101
Es gibt 7 Ziffern 1 in diesem Zahleneintrag. Daher enthält der binäre Datensatz der Zahl 253 7 Ziffern 1.
Wie löst man dieses Problem?
Um dieses Problem zu lösen, müssen Sie die Zahl 253 in ein binäres Zahlensystem konvertieren und die Anzahl der Ziffern 1 berechnen.
Dazu können Sie den folgenden Algorithmus verwenden:
- Beginnen Sie mit der Division der Zahl 253 durch 2 und notieren Sie den Rest der Division. Dies ist die letzte Ziffer im Binärdatensatz der Zahl.
- Das Ergebnis der Division durch 2 wird zu einer neuen Zahl, die durch 2 geteilt werden muss und den Rest aufzeichnet. Teilen Sie die Zahl weiter durch 2 und notieren Sie die Reste, bis das Ergebnis der Division 0 ist.
- Die resultierende Restsequenz ist ein binärer Datensatz der Zahl 253. Zählen Sie die Anzahl der Ziffern 1 in dieser Reihenfolge, um die Antwort auf die Aufgabe zu finden.
Wenn wir beispielsweise die Zahl 253 durch 2 dividieren, erhalten wir den Rest von 1. Wenn wir das resultierende Ergebnis (126) durch 2 dividieren, erhalten wir den Rest von 0. Wenn wir den Teilungsprozess fortsetzen, erhalten wir den Binärdatensatz der Zahl 253: 11111101. Dieser Eintrag enthält 7 Ziffern 1.
Die Antwort auf die Aufgabe lautet also 7.
Algorithmus zum Zählen der Anzahl der Ziffern 1
Um die Anzahl der Ziffern 1 im Binärdatensatz einer Zahl zu zählen, müssen Sie den folgenden Algorithmus verwenden:
- Übersetzt eine Zahl in ein binäres Zahlensystem.
- Konvertieren Sie eine Binärzahl in eine Zeichenfolge.
- Durchlaufen Sie jedes Zeichen der Zeichenfolge und prüfen Sie, ob das Zeichen die Zahl 1 ist.
- Wenn das Zeichen die Zahl 1 ist, erhöhen Sie den Zähler um 1.
- Um das Endergebnis zu erhalten, ist die Anzahl der Ziffern 1.
const number = 253;
const binary = number.toString(2);
let count = 0;
for (let i = 0; i < binary.length; i++) if (binary[i] === '1') count++;
>
>
console.log(count); // Output: 6
In diesem Beispiel wird die Zahl 253 (Dezimal) in die Binärzahl 11111101 konvertiert. Dann wird die Anzahl der Ziffern 1 pro Zeile gezählt, und das Ergebnis ist die Zahl 6.
Auf diese Weise ermöglicht der Algorithmus, die Anzahl der Ziffern 1 im Binärdatensatz einer Zahl effizient zu zählen.