什么是“&”在这个例子中呢?

时间:2014-07-23 19:52:54

标签: c++ int operator-keyword

正如标题所说,&在这个例子中做了什么:

#include <iostream>

using namespace std;

int main()
{
    int a = 10;
    int b = 13;
    int c = a & b;

    cout << c << endl;

    return 0;
}

我的问题是&#34;&amp;&#34;做一个&amp; b为什么c结果为8?

我目前正在关注this tutorial,但没有解释&#34;&amp;&#34;操作员那么好。

2 个答案:

答案 0 :(得分:5)

正如评论和答案所示,这是一个bitwise operator。按位运算符在对它们进行操作时将它们的操作数视为一组位。按位and,我确信你可以猜到,and两位,所以真值表看起来像:

 A | B | A & B
---|---|------
 0 | 0 |   0
 0 | 1 |   0
 1 | 0 |   0
 1 | 1 |   1

因此,当您and ab 1010时,它们的二进制值分别为1101anda 1}}每个b位及其对应的 1010 -a, or 10 &1101 -b, or 13 ----- 1000 -c, or 8 位,所以

{{1}}

答案 1 :(得分:1)

&amp;是一个按位AND运算符。有关详情,请参阅此链接:http://en.wikipedia.org/wiki/Bitwise_operations_in_C#Bitwise_AND_.22.26.22