7的二进制形式是100101，所以它包含有三个设置成1的位。一个计算32位"整数"中1的位数的简单c语言程序是：不幸的是，这个简单的算法在现代的架构上将需要数以百计的时钟周期才能完成，这是因为它造成了许多分支和循环，而分支的速度是很慢的。这可以使用循环展开和其它一些聪明的技巧进行改进，但是最简单快捷的解决方案是查找表：简单地构建一个 包含每个字节可能值包含的1的个数的256个条目的表。然后使用这个表查找整数中每个字节包含的1的个数，并且将结果相加。没有分支、四次内存访问、几乎没有算术运算，这样与上面的算