Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 两个int变量之间的管道运算符的平均值是多少?_C++ - Fatal编程技术网

C++ 两个int变量之间的管道运算符的平均值是多少?

C++ 两个int变量之间的管道运算符的平均值是多少?,c++,C++,具有以下代码— enum FileOpenFlags { flagREAD = 1, flagWRITE = 2, flagCREATE = 4, flagEND = 8, flagAPPEND = flagWRITE | flagEND, }; cout << flagAPPEND << endl; 给10分。你能给我解释一下那家伙干了什么吗 它对两个值进行了比较。它被称为……。flagWRITE的2二进制表示是0010

具有以下代码—

    enum FileOpenFlags {
    flagREAD = 1, flagWRITE = 2,
    flagCREATE = 4, flagEND = 8,
    flagAPPEND = flagWRITE | flagEND,
    };
    cout << flagAPPEND << endl;
给10分。你能给我解释一下那家伙干了什么吗

它对两个值进行了比较。

它被称为……。

flagWRITE的2二进制表示是0010

Flagnd的8二进制表示是1000


0010或1000表示1010等于10,这是一个按位OR运算符。因此,2和8的位值分别按位获取或

因此:


是的,我能。但是我不想你应该读C++教程而不是用这个方法来烦我。这些标志前缀可以用C++ 11中的范围内的枚举来避免。@我的谷歌搜索结果给出了关于管道的另一个意思的结果,抱歉打扰了你。那是因为它不是管道。它是一个包含或运算符。@PeteBecker,但有些人会将其作为管道字符来知道。我可以很容易地看出这种混乱是从哪里来的,我很高兴在StackOverflow上有一个位置让Google找到它。
   1000 (flagEND = 8) 
OR 0010 (flagWRITE = 2)
-----------
 = 1010 (flagAppend = 10)