一系列很好用的函数?时间复杂度大概是 \(O(1)\)?
int __builtin_ffs (unsigned int x)
int __builtin_clz (unsigned int x)
int __builtin_ctz (unsigned int x)
__builtin_clz相对,比如1919810(111010100101101000010)返回 1。int __builtin_popcount (unsigned int x)
int __builtin_parity (unsigned int x)
这些函数都有相应的 usigned long 和 usigned long long 版本,只需要在函数名后面加上 l 或 ll 就可以了,比如 int __builtin_clzll。
鸣谢:高效位运算 __builtin_系列函数——Yuer-
原文:https://www.cnblogs.com/Silymtics/p/14426336.html