C++ XOR 演算

C Xor Yan Suan



C++ プログラミングには、AND、OR、NOT、XOR などのさまざまなビット単位の演算子が用意されています。指定されたデータをビット レベルで操作するには、C++ プログラミング言語のビット単位の演算子を利用します。 C++ の「XOR」演算子 (^) は、2 つのオペランドのすべてのビットに対して XOR プロセスを実行します。 2 つのビットが異なる場合、XOR の結果は 1 になります。両方が同じ場合、結果は 0 になります。ここでは、C++ プログラミングの「XOR」演算子を学習します。

例 1:

コードはここで「iostream」ヘッダー ファイルをインクルードすることから始まります。名前が示すように、このヘッダー ファイルは入力関数と出力関数用であり、その中でこれらの関数が宣言されています。そして、これらの関数が定義されている「名前空間 std」があります。

この下では、「main()」メソッドを呼び出します。 「int」型の「x」変数を初期化し、この「x」に「10」を代入します。次に、「int」データ型の別の変数「y」を用意し、「6」を割り当てます。この後、「int」データ型の「r」を初期化します。ここでは、「x」変数と「y」変数の間に「^」演算子を入れて、これらの変数の値に「XOR」演算を適用します。この「XOR」演算子は、整数値をバイナリ値に変換し、バイナリ値に「XOR」演算を適用して、結果を整数値として保存します。この「XOR」演算子の結果は「r」に保存されます。







この後、これらの変数の値を個別に表示し、「cout」を使用して「XOR」演算子を適用した後に得られる結果を表示します。



コード 1:

#include

名前空間 std を使用する ;

整数 主要 ( ) {

整数 バツ = 10 ;

整数 そして = 6 ;

整数 r = バツ ^ そして ;

コート << 「x の値:」 << バツ << 終わり ;

コート << 'y の値:' << そして << 終わり ;

コート << 「XOR x ^ y =」 << r << 終わり ;

戻る 0 ;

}

出力:



「10」のバイナリ値は「1010」、「6」のバイナリ値は「0110」であるため、「XOR」演算子を適用すると「12」が返され、「1100」は「12」のバイナリ値です。これは、両方の入力が異なる場合は「1」を返し、両方の入力が同じ場合は「0」を返すことを示しています。





例 2:

「iostream」ヘッダー ファイルと「std」名前空間を追加した後、「main()」メソッドを呼び出します。次に、2 つの変数「X1」と「X2」を初期化し、それぞれ「21」と「35」の整数値をこれらの変数に割り当てます。次に、両方の変数の値を出力します。この後、これらの整数値に「XOR」演算子を適用します。この「XOR」演算を「cout」内のこれらの「X1」および「X2」変数に適用します。なので、この「XOR」の結果も結果として表示されます。



コード 2:

#include

名前空間 std を使用する ;

整数 主要 ( ) {

整数 X1 = 21 X2 = 35 ;

コート << 「X1 値 = 」 << X1 << 終わり ;

コート << 'X2 値 = ' << X2 << 終わり ;

コート << 'XOR の結果は次のとおりです。' << 終わり ;

コート << 「X1^X2 =」 << ( X1 ^ X2 ) << 終わり ;

戻る 0 ;

}

出力:

最初の整数値は「21」、2 番目の整数値は「35」です。 「XOR」演算を適用すると、ここに表示されている「54」の結果が得られます。

例 3:

「iostream」ヘッダー ファイルと「std」名前空間を追加した後、「main()」メソッドを呼び出します。 「int」型の変数「n1」が初期化され、「29」が代入されます。次に、「75」を「int」データ型の別の変数「n2」に代入します。次に、「r1」の値と「int」データ型の値を初期化します。

次に、「n1」変数と「n2」変数の間に「^」演算子を入れて、それらの値に「XOR」演算を適用します。整数値は、この「XOR」演算子を使用してバイナリに変換され、バイナリ データに「XOR」演算が適用され、結果が整数値として保存されます。 「r1」変数には、この「XOR」演算の結果が含まれます。これらの各変数の値は個別に表示されます。また、「cout」演算子の助けを借りて「XOR」演算子を使用した結果も示します。

コード 3:

#include

名前空間 std を使用する ;

整数 主要 ( )

{

整数 n1 = 29 ;

整数 n2 = 75 ;

整数 r1 = n1 ^ n2 ;

コート << 「最初の値:」 << n1 << 終わり ;

コート << 「2番目の値:」 << n2 << 終わり ;

コート << 'XOR 演算子の結果は次のとおりです。' << r1 << 終わり ;

戻る 0 ;

}

出力:

入力された整数は「29」と「75」で、2進数に変換されます。次に、それらに「XOR」演算が適用されます。 「XOR」を適用すると、結果は「86」になります。

例 4:

このコードでは、ユーザーから入力を取得し、ユーザーの入力値に「XOR」演算を適用します。ここでは、3 つの変数が「Xvalue1」、「Xvalue2」、および「Xvalue3」という名前で宣言されています。次に、「cout」を配置し、「ここに 2 つの値を入力してください」というメッセージを表示します。

このメッセージが表示された後、ユーザーは cin の助けを借りて取得した値を入力します。そこで、この下に「cin」を置きます。両方の値がこれらの変数に保存され、ここにも表示されます。ここで、「XOR」演算を適用する必要があるため、「Xvalue1」変数と「Xvalue2」変数の間に「^」演算子を挿入します。

ここで、この「XOR」演算がこれらの変数の値に適用されます。この「XOR」演算子の結果は「Xvalue3」変数に保存されます。また、「cout」メソッドを使用して表示します。

コード 4:

#include

名前空間 std を使用する ;

整数 主要 ( )

{

整数 Xvalue1 Xvalue2 Xvalue3 ;

コート << 'ここに 2 つの値を入力してください:' << 終わり ;

コート << 'Xvalue1: ' ;

食べる >> Xvalue1 ;

コート << 'Xvalue2: ' ;

食べる >> Xvalue2 ;

Xvalue3 = Xvalue1 ^ Xvalue2 ;

コート << \n 両方の値に XOR を適用すると、次のようになります。 << 終わり ;

コート << 'Xvalue1 ^ Xvalue2 = ' << Xvalue3 << 終わり ;

}

出力:

このコードを実行すると、2 つの値を入力するためのメッセージが出力されます。したがって、「Xvalue1」変数の値として「14」を入力し、「Xvalue2」変数の値として「45」を入力します。次に、「Enter」を押します。次に、「XOR」演算がこれらの値に適用され、両方の値がバイナリに変換され、結果がここに表示されます。

例 5:

この「XOR」演算を文字データに適用します。 2 つの「char」変数を「ch_a」と「ch_b」という名前で初期化します。これらの変数にそれぞれ「a」と「8」を代入します。次に、「ch_a」と「ch_b」の間に「^」演算子を配置し、それを「char」データ型でもある「ch_result」変数に割り当てます。これらの文字はバイナリに変換され、結果が「ch_result」変数に保存されます。次に、両方の変数とこの「XOR」演算の結果を出力します。

コード5:

#include

名前空間 std を使用する ;

整数 主要 ( ) {

チャー ch_a = 「あ」 ;

チャー ch_b = 「8」 ;

チャー ch_result = ch_a ^ ch_b ;

コート << 「最初の文字は : 」 << ch_a << 終わり ;

コート << 「2 番目の文字は次のとおりです。」 << ch_b << 終わり ;

コート << 「結果は次のとおりです。」 << ch_result << 終わり ;

}

出力:

入力文字は「a」と「8」で、「a」と「8」をバイナリに変換して「 XOR」演算。

結論

ここでは「XOR」演算について徹底的に説明し、バイナリ値を利用するため「ビット単位」演算であることを説明しました。 「XOR」演算を適用するために入力したすべての値がバイナリ値に変換されてから、「XOR」演算が実行されることについて説明しました。いくつかの例を示し、C++ プログラミングで「XOR」演算がどのように機能するかを示しました。