四种GCC内置位运算函数
Posted slgkaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四种GCC内置位运算函数相关的知识,希望对你有一定的参考价值。
- int __builtin_ffs (unsigned int x)
返回x的最后一位1的是从后向前第几位,比方7368(1110011001000)返回4。 - int __builtin_clz (unsigned int x)
返回前导的0的个数。 - int __builtin_ctz (unsigned int x)
返回后面的0个个数,和__builtin_clz相对。 - int __builtin_popcount (unsigned int x)
返回二进制表示中1的个数。 - int __builtin_parity (unsigned int x)
返回x的奇偶校验位,也就是x的1的个数模2的结果。
此外,这些函数都有对应的usigned long和usigned long long版本号,仅仅须要在函数名后面加上l或ll就能够了。比方int __builtin_clzll。
此外,基于稀疏表(Sparse Table)的RMQ问题,能够使用 __builtin_clz函数进行预处理。
以上是关于四种GCC内置位运算函数的主要内容,如果未能解决你的问题,请参考以下文章
零基础 快速学Java韩顺平 p87-101 四种进制及其相互转换二进制运算(原码补码反码)7种位运算符