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


C++ std::bit_xor用法及代碼示例


bit_xor是C++中的內置函數,用於執行bitwise_xor並在對參數執行bitwise_xor操作後返回結果。

頭文件:

#include <functional.h>

模板類別:

template <class T> struct bit_xor;

參數:它接受參數T,它是函數調用要比較的參數的類型。

Note:



  1. 此類的對象可用於標準算法,例如變換或累加。
  2. 成員函數('operator()')返回其參數bit_xor。

我們必須包括庫‘functional’和‘algorithm’才能分別使用bit_xor和transform()。

下麵是C++中的bit_xor的圖示:問題1:

// C++ program to illustrate bit_xor in C++ 
  
#include <algorithm> 
#include <functional> // to include bit_xor 
#include <iostream> 
#include <iterator> 
using namespace std; 
  
int main() 
{ 
    // declaring the values 
    int A[] = { 1, 2, 3, 4, 5, 6 }; 
    int B[] = { 6, 7, 8, 4, 5, 0 }; 
    int n = 6; 
    // defining result 
    int result[n]; 
  
    // transform is used to apply bitwise_xor 
    // on the arguments A and B 
    transform(A, end(A), B, 
              result, bit_xor<int>()); 
  
    // printing the resulting array 
    cout << "A xor B = "; 
    for (const int& answer:result) 
        cout << ' ' << answer; 
  
    return 0; 
}
輸出:
A xor B =  7 5 11 0 0 6

程序2:

// C++ program to illustrate bit_xor in C++ 
  
#include <algorithm> 
#include <functional> 
#include <iostream> 
#include <iterator> 
using namespace std; 
  
int main() 
{ 
    // declaring the values 
    int A[] = { 0, 0xff, 15, 22 }; 
    int B[] = { 1, 255, 0xfa, 0x16 }; 
    int n = 4; 
    // defining result 
    int result[n]; 
  
    // transform is used to apply bitwise_xor 
    // on the arguments A and B 
    transform(A, end(A), B, 
              result, bit_xor<int>()); 
  
    // printing the resulting array 
    cout << "A xor B = "; 
    for (const int& answer:result) 
        cout << ' ' << answer; 
  
    return 0; 
}
輸出:
A xor B =  1 0 245 0

參考: https://en.cppreference.com/w/cpp/utility/functional/bit_xor




相關用法


注:本文由純淨天空篩選整理自harshit_chari大神的英文原創作品 std::bit_xor in C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。