此类函数接收的数在 unsigned int
范围内,在函数后在上
l
l
ll
ll 即可将范围提升至 unsigned long long
(见文章末尾)
__builtin_ffs(x)
返回 x x x 中最低位的 1 1 1 是第几位(从低位往高位数,且从 1 1 1 开始数)
2__builtin_clz(x)
返回 x x x 二进制中前导零个数(以无符号 i n t int int 为准,即总共 32 32 32 位)
3__builtin_ctz(x)
返回 x x x 二进制中末尾 0 0 0 的个数( x ≠ 0 x\neq 0 x=0 )
4__builtin_popcount(x)
返回 x x x 二进制中 1 1 1 的个数
5__builtin_parity(x)
返回 x x x 二进制中 1 1 1 个数的奇偶性,奇数返回 1 1 1 ,偶数为 0 0 0
在每个函数后加上
l
l
ll
ll 即可将数的范围提升至 unsigned long long
,例如:
__builtin_popcountll(x)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)