c++ xor如何實(shí)現(xiàn)

c++
小樊
81
2024-11-19 16:08:45
欄目: 編程語言

在C++中,XOR(按位異或)是一種二進(jìn)制運(yùn)算,它接受兩個(gè)等長(zhǎng)的二進(jìn)制數(shù)作為輸入,并返回一個(gè)新的二進(jìn)制數(shù),其中每個(gè)對(duì)應(yīng)位上的值是輸入值的按位異或結(jié)果。

在C++中,可以使用以下方法實(shí)現(xiàn)XOR運(yùn)算:

  1. 使用位運(yùn)算符 ^
int a = 5; // 二進(jìn)制表示為 0101
int b = 3; // 二進(jìn)制表示為 0011
int xor_result = a ^ b; // 結(jié)果為 0110(十進(jìn)制的6)
  1. 使用異或函數(shù) std::bit_xor(C++17及更高版本):
#include <iostream>
#include <functional>

int main() {
    int a = 5;
    int b = 3;
    int xor_result = std::bit_xor(a, b);
    std::cout << "XOR result: " << xor_result << std::endl; // 輸出:6
    return 0;
}

請(qǐng)注意,std::bit_xor 是C++17中引入的功能,因此在使用之前需要確保編譯器支持C++17標(biāo)準(zhǔn)。

0