Language Support
Some C compilers provide intrinsics that provide bit counting facilities. For example, GCC (since version 3.4 in April 2004) includes a builtin function __builtin_popcount that will use a processor instruction if available or an efficient library implementation otherwise. LLVM-GCC has included this function since version 1.5 in June, 2005.
In C++ STL, the bit-array data structure bitset has a count method that counts the number of bits that are set.
In Java, the growable bit-array data structure BitSet has a BitSet.cardinality method that counts the number of bits that are set. In addition, there are Integer.bitCount(int) and Long.bitCount(long) functions to count bits in primitive 32-bit and 64-bit integers, respectively. Also, the BigInteger arbitrary-precision integer class also has a BigInteger.bitCount method that counts bits.
In Common Lisp, the function logcount, given a non-negative integer, returns the number of 1 bits. (For negative integers it returns the number of 0 bits in 2's complement notation.) In either case the integer can be a BIGNUM.
Read more about this topic: Hamming Weight
Famous quotes containing the words language and/or support:
“Talking about dreams is like talking about movies, since the cinema uses the language of dreams; years can pass in a second and you can hop from one place to another. Its a language made of image. And in the real cinema, every object and every light means something, as in a dream.”
—Frederico Fellini (19201993)
“To suppose such a thing possible as a society, in which men, who are able and willing to work, cannot support their families, and ought, with a great part of the women, to be compelled to lead a life of celibacy, for fear of having children to be starved; to suppose such a thing possible is monstrous.”
—William Cobbett (17621835)