📜  C++中的bit_and函数

📅  最后修改于: 2021-05-30 15:58:20             🧑  作者: Mango

bit_and是C++中的内置函数,用于在将bitwise_and应用于其参数(由运算符&返回)之后返回值。

template  struct bit_and 
{
  T operator() (const T& a, const T& b) const {return a&b;}
  typedef T type of first_argument;
  typedef T type of second_argument;
  typedef T result_type;
};

T是所有参数的类型。

笔记:

  1. 此类的对象可用于标准算法,例如变换或累加。
  2. 成员函数(’ 运算符()’)返回其参数的逐位和。

我们必须包含库“ functional”和“ algorithm”以分别使用bit_and和transform,否则它们将无法工作。

以下是显示bit_and函数工作的程序
程序1:

// C++ program to show the 
// functionality of bit_and
#include  // transform
#include  // bit_and
#include  // cout
#include  // end
using namespace std;
  
int main()
{
    // declaring the values
    int xyz[] = { 500, 600, 300, 800, 200 };
    int abc[] = { 0xf, 0xf, 0xf, 255, 255 };
    int n = 5;
    // defining results
    int results[n];
  
    // transform is used to apply
    // bitwise_and on the arguments
    transform(xyz, end(xyz), abc,
              results, bit_and());
  
    // printing the resulting array
    cout << "Results:";
    for (const int& x : results)
        cout << ' ' << x;
  
    return 0;
}
输出:
Results: 4 8 12 32 200

计划2:

// C++ program to show the 
// functionality of bit_and
#include  // transform
#include  // bit_and
#include  // cout
#include  // end
using namespace std;
  
int main()
{
    // declaring the values
    int xyz[] = { 0, 1100 };
    int abc[] = { 0xf, 0xf };
  
    // defining results
    int results[2];
    // transform is used to apply
    // bitwise_and on the arguments
    transform(xyz, end(xyz), abc,
              results, bit_and());
  
    // printing the resulting array
    cout << "Results:";
    for (const int& x : results)
        cout << ' ' << x;
  
    return 0;
}
输出:
Results: 0 12
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”