摘要 |
A method for counting the number of bits which are set to binary "1" in a word of length 2n includes generating a first mask of length 2n having alternating sequences of "1"'s and "0"'s, each sequence having a length "x" (the length "x" initially having a value of 1), and generating a second mask of length 2n by forming the complement of the first mask. Logical AND operations using the word and each of the first and second masks are performed to generate first and second intermediate words, respectively. That one of the first and second intermediate words having been ANDed with one of the first and second masks having a "0" in its least significant bit position, is shifted "x" number of bit positions to generate a shifted intermediate word. The shifted intermediate word and the other of the first and second intermediate words are arithmetically added to generate a bit-counted word of 2n length representing the number of bits in the word set to binary "1" from the bit-counted word. The value of "x" is doubled and the method is repeated 2n iterations.
|