C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

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は、CountLeadingZerosの略です。 _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は、CountTrailingZerosの略です。 _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

  1. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb

  2. LinuxにC++コンパイラをインストールする方法は?

    LinuxでC++をコンパイルする方法はいくつかあります。それらのうちの2つを見てみましょう- GCC ほとんどすべてのLinuxディストリビューションにはGCCがインストールされています。コマンドラインから次のコマンドを入力して、GCCがシステムにインストールされているかどうかを確認します- $ g++ -v GCCをインストールしている場合は、次のようなメッセージが出力されます- Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr ....... Thr