四种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种位运算符

Go语言理论一

Go语言理论一

python-opencv-图像的按位运算

编写C程序,如何利用位运算,保留整数a二进制从右边开始的第3位至第6位?

位运算的奇技淫巧