C++ 语言中的 GCC 编译器的内置函数


GCC 编译器中有一些内置函数。这些函数如下。

函数 _builtin_popcount(x)

此内置函数用于计算整数类型数据中 1 的个数。我们来看一个 _builtin_popcount() 函数的示例。

示例

 在线演示

#include<iostream>
using namespace std;
int main() {
   int n = 13; //The binary is 1101
   cout << "Count of 1s in binary of "<< n <<" is " << __builtin_popcount(n);
   return 0;
}

输出

Count of 1s in binary of 13 is 3

函数 _builtin_parity(x)

此内置函数用于检查一个数字的奇偶性。如果该数字具有奇偶性,它将返回 true,否则将返回 false。我们来看一个 _builtin_parity() 函数的示例。

示例

 在线演示

#include<iostream>
using namespace std;
int main() {
   int n = 13; //The binary is 1101
   cout << "Parity of "<< n <<" is " << __builtin_parity(n);
   return 0;
}

输出

Parity of 13 is 1

函数 _builtin_clz(x)

此内置函数用于计算整数的前导零的个数。clz 表示 Count Leading Zeros。我们来看一个 _builtin_clz() 函数的示例。

示例

 在线演示

#include<iostream>
using namespace std;
int main() {
   int n = 13; //The binary is 1101
   //0000 0000 0000 0000 0000 0000 0000 1101 (32bit integer )
   cout << "Leading zero count of "<< n <<" is " << __builtin_clz(n);
   return 0;
}

输出

Leading zero count of 13 is 28

函数 _builtin_ctz(x)

此内置函数用于计算整数的后缀零的个数。ctz 表示 Count Trailing Zeros。我们来看一个 _builtin_ctz() 函数的示例。

示例

 在线演示

#include<iostream>
using namespace std;
int main() {
   int n = 12; //The binary is 1100
   //0000 0000 0000 0000 0000 0000 0000 1100 (32bit integer )
   cout << "Trailing zero count of "<< n <<" is " << __builtin_ctz(n);
   return 0;
}

输出

Trailing zero count of 12 is 2

更新于:2019-07-30

505 浏览

开启你的 职业生涯

完成课程并获得证书

开始
广告