„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > PHP-Programm zum Zählen gesetzter Bits in einer Ganzzahl

PHP-Programm zum Zählen gesetzter Bits in einer Ganzzahl

Veröffentlicht am 29.08.2024
Durchsuche:497

Was ist Binärcode?

Binärcode ist ein System zur Darstellung von Informationen oder Daten mithilfe eines Zahlensystems zur Basis 2. Zur Darstellung aller Werte werden nur zwei Ziffern verwendet, normalerweise 0 und 1. Jede Ziffer in einem Binärcode wird als Bit (kurz für Binärziffer) bezeichnet.

Im Binärcode stellt jede Ziffer eine Potenz von 2 dar. Ausgehend von der Ziffer ganz rechts nehmen die Potenzen von 2 von rechts nach links zu. In einem 8-Bit-Binärcode stellt beispielsweise das Bit ganz rechts 2^0 (1) dar, das nächste Bit repräsentiert 2^1 (2), das nächste Bit repräsentiert 2^2 (4) und so weiter.

Beispiel

Nehmen wir die Dezimalzahl 42 und stellen sie im Binärcode dar. Um 42 in eine Binärzahl umzuwandeln, teilen wir sie nacheinander durch 2 und behalten die Reste im Auge, bis der Quotient Null wird.

Hier ist der Schritt-für-Schritt-Prozess:

Schritt 1

42 ÷ 2 = 21, Rest 0

Schritt 2

21 ÷ 2 = 10, Rest 1

Schritt 3

10 ÷ 2 = 5, Rest 0

Schritt 4

5 ÷ 2 = 2, Rest 1

Schritt 5

2 ÷ 2 = 1, Rest 0

Schritt 6

1 ÷ 2 = 0, Rest 1

Um die binäre Darstellung zu erhalten, beginnen wir von unten (letzter Rest) und lesen die Reste von unten nach oben.

Der resultierende Binärcode für 42 lautet: 101010

Die Dezimalzahl 42 wird im Binärcode also als 101010 dargestellt.

Was ist Setbit?

Im Kontext des Binärcodes bezieht sich ein gesetztes Bit auf eine binäre Ziffer (Bit), die auf den Wert 1 gesetzt ist. Andererseits bezieht sich ein gelöschtes Bit auf eine binäre Ziffer, die auf den Wert von gesetzt ist 0.

Beispiel

Zum Beispiel gibt es im Binärcode 101010 drei gesetzte Bits (entsprechend den Positionen mit dem Wert 1) und drei Löschbits (entsprechend den Positionen mit dem Wert 0).

PHP-Programm zum Zählen gesetzter Bits in einer Ganzzahl

PHP Program to Count set Bits in an Integer

Methode 1: Alle Bits einer Ganzzahl durchlaufen

Beispiel

>= 1;
	}
	return $count;
}

// Driver Code
$number= 12;
echo "Number of setbits in $number: " .countSetBits($number);
?>

Ausgabe

Number of setbits in 12: 2

Methode 2: Rekursiver Ansatz

> 1);
}

// Driver code

// get value from user
$n = 123;

// function calling
echo "Number of setbits in $n are: ".countSetBits($n);
?>

Ausgabe

Number of setbits in 123 are: 6

Abschluss

Zusammenfassend lässt sich sagen, dass wir die gesetzten Bits (1en) in einer Ganzzahl zählen können, indem wir sowohl einen rekursiven Ansatz als auch eine Schleife durch alle Bits in PHP verwenden. Beim Schleifenansatz wird jedes Bit der Ganzzahl mithilfe einer While-Schleife durchlaufen. Wir initialisieren eine Zählervariable und iterieren, bis die Zahl 0 wird. Innerhalb der Schleife verwenden wir bitweises UND mit 1, um das niedrigstwertige Bit zu überprüfen. Wenn es gleich 1 ist, erhöhen wir den Zähler. Dann verschieben wir die Zahl um 1 Bit nach rechts. Dieser Vorgang wird fortgesetzt, bis alle Bits überprüft wurden und der endgültige Zählerstand zurückgegeben wird.

Für den rekursiven Ansatz können wir eine rekursive Funktion definieren, die eine Ganzzahl als Eingabe akzeptiert. Innerhalb der Funktion überprüfen wir das niedrigstwertige Bit mithilfe des bitweisen UND-Operators mit 1. Wenn es gleich 1 ist, erhöhen wir einen Zähler. Dann verschieben wir die Zahl um 1 Bit nach rechts und rufen die Funktion mit der aktualisierten Zahl rekursiv auf. Der Basisfall ist, wenn die Zahl 0 wird und wir an diesem Punkt den Zähler zurückgeben. Dieser Ansatz zählt die gesetzten Bits rekursiv, bis die Zahl 0 wird. Beide Ansätze bieten eine Möglichkeit, die gesetzten Bits in einer Ganzzahl zu zählen, was unterschiedliche Implementierungsoptionen basierend auf den spezifischen Bedürfnissen und Vorlieben des Programmierers ermöglicht.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://www.tutorialspoint.com/php-program-to-count-set-bits-in-an-integer Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3