当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ bit_and用法及代码示例


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. 成员函数('operator()')返回其参数的bitwise_and。

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

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

// C++ program to show the  
// functionality of bit_and 
#include <algorithm> // transform 
#include <functional> // bit_and 
#include <iostream> // cout 
#include <iterator> // 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<int>()); 
  
    // 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 <algorithm> // transform 
#include <functional> // bit_and 
#include <iostream> // cout 
#include <iterator> // 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<int>()); 
  
    // printing the resulting array 
    cout << "Results:"; 
    for (const int& x : results) 
        cout << ' ' << x; 
  
    return 0; 
}
输出:
Results: 0 12


相关用法


注:本文由纯净天空筛选整理自shubham tyagi 4大神的英文原创作品 bit_and function in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。