0
点赞
收藏
分享

微信扫一扫

C/C++: __builtin_popcount 函数及其一些 __builtin函数

dsysama 2022-04-05 阅读 69
后端

__builtin_popcount函数

GCC有一个叫做__builtin_popcount的内建函数,它可以精确的计算1的个数。尽管如此,不同于__builtin_ctz,它并没有被 翻译成一个硬件指令(至少在x86上不是)。相反的,它使用基于表的方法来进行位搜索。这无疑很高效并且非常方便。

这个函数主要是我在刷题的过程中发现答案中这样判断的,我之前的判断方式一直是自己写一个函数,这种内建的库函数无疑更加高效

int ans=0;
while(x){
	ans += x & 1;
	x >> 1;
}

其他的__builtin函数

__builtin_ffs(x)
__builtin_clz(x)
__builtin_ctz(x)
__builtin_popcount(x)
__builtin_parity(x)
举报

相关推荐

0 条评论