當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。