Antwort

5

Sie eine Kette von Bits als set betrachten können, mit a 1, das die Zugehörigkeit des Satzes für das entsprechende Element darstellt. Die Bitzahl gibt Ihnen also den des Satzes.

Zu den praktischen Anwendungen gehören Komprimierung, Kryptographie und Fehlerkorrekturcodes. Siehe z.B. wikipedia.org/wiki/Hamming_weight und wikipedia.org/wiki/Hamming_distance.

0

Wenn Sie Ihr eigenes Paritätsschema rollen, möchten Sie vielleicht die Anzahl der Bits zählen. (Im Allgemeinen würde ich natürlich lieber jemand anderes benutzen.) Wenn Sie einen alten Computer emulieren und wissen möchten, wie schnell er auf dem Original laufen würde, hatten einige Multiplikationsanweisungen, deren Geschwindigkeit sich mit der Zahl änderte von 1 Bits.

Ich kann mir nicht vorstellen, wann ich es in den letzten zehn Jahren machen wollte, also vermute ich, dass dies eher eine Programmierübung als ein praktisches Bedürfnis ist.

+0

Sie Parität berechnen können direkt mit weniger Operationen als bei einer Bevölkerungszahl (es sei denn, Ihre CPU hat ' POPCNT' oder ähnlich). –

0

In einer ironischen Art, es ist nützlich für eine Interviewfrage, weil es einige detaillierte Low-Level-Denken erfordert und nicht als Standard-Algorithmus in comp sci Kurse gelehrt wird.

0

Einige Leute verwenden gerne Bitmaps, um das Vorhandensein/Fehlen von "Zeug" anzuzeigen.

Es gibt einen einfachen Hack, um das niedrigstwertige 1 Bit in einem Wort zu isolieren, es in ein Feld von Einsen in den Bits darunter umzuwandeln, und dann können Sie die Bitanzahl durch Zählen der 1-Bits finden.

Watch it work.

Let x =  00101100 
Then x-1 = 00101011 
x XOR x-1 = 00000111 

Welche 3 Bits gesetzt hat, das Bit so 2 war der am wenigsten signifikante 1-Bit in dem ursprünglichen Wort

Verwandte Themen