2017-07-01 6 views
-5

この関数は何のために使用されていますか?それは力の機能のためではありません。私はこれが何を意味するのか分かりません(x^y)? C++で

#include<iostream> 

    using namespace std; 

    int main(){ 

    int x,y; 

    cout<<(x^y)<<endl;/* this is the unkown (X^Y)*/ 

    return 0; 

    } 
+4

それはXORです。 http://en.cppreference.com/w/cpp/keyword/xor –

+0

とはどういう意味ですか? –

+0

私は6と12をそれはあなたのプログラムの動作が定義されていません1 –

答えて

3

です見ます演算子はビット単位でXORです。例6のために取って、バイナリで12

6は、次のとおりです。バイナリで110 12は:「第一又は第二の両方ではなく」:あなたにXORと考えることができ1100

。どういう意味ですか?私はxorの真理値表とのあなたにそれを説明する:

A  B  A^B 
0  0  0 
0  1  1 
1  0  1 
1  1  0 

はあなたが唯一の1-bitsは、それらの場所またはAまたはB(両方ではない)に設定されていることがわかります。最初の例に

戻る:

A 1100 => 12 
B 0110 => 6 
A^B 1010 => 10 
2

のC++での電力機能が

#include <math.h> 
#include <iostream> 
int main() 
{ 
    int x, y; 
    std::cout << "Give numbers " << std::endl; 
    std::cout << "x = "; 
    std::cin >> x; 
    std::cout << "y = "; 
    std::cin >> y; 
    std::cout << "Result = " << pow(x, y) << std::endl; 
    return 0; 

} 

あなたのバージョンは今^など例えば組み込みシステムに使用されるXOR(論理演算)

関連する問題