gcc的几个builtin函数


gcc内置了三个二进制数统计方面的比较有用的函数,当然不是On级别的

1
2
3
__builtin_clz()
__builtin_ctz()
__builtin_popcount()

若参数是long long 就在函数名后面加ll

clz是CountLeadingZero,就是统计前导0
ctz是CountTrailingZero,就是后面数过去的前导0(不知道该怎么表达了…)

最有用的就是popcount啦~统计二进制1的个数~几乎是常数时间的消耗