C++

C++,第1张

此类函数接收的数在 unsigned int范围内,在函数后在上 l l ll ll 即可将范围提升至 unsigned long long(见文章末尾)

1
__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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存