看一下GCC's builtins,我注意到在函数名称(pop
)等中使用了字符串__builtin_popcount
。我还看到了其他对pop的引用其他实现。
当提到设置位时,为什么使用pop
,它是什么意思?
答案 0 :(得分:3)
它是“人口”的缩写(即通过设置为1来“填充”的位数),也称为汉明重量。
来自Wikipedia:
字符串的汉明权重是与所用字母的零符号不同的符号数。因此,它相当于相同长度的全零串的汉明距离。对于最典型的情况,一串位,这是字符串中1的数字。在这个二进制的情况下,它也被称为人口数, popcount 或横向总和。它是给定数字的二进制表示和位向量的l 1范数的数字和。