han*_*seN -7 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;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是"&"对a&b做了什么,为什么c结果为8?
我目前正在学习本教程,但没有解释"&"运算符.
正如评论和答案所暗示的那样,这是一个bitwise operator.按位运算符在对它们进行操作时将它们的操作数视为一组位.按比and意志,因为我相信你能猜到,and两个位,所以真值表将如下所示:
A | B | A & B
---|---|------
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1
Run Code Online (Sandbox Code Playgroud)
所以当你和你and的时候,它们将分别取两个和它们的二进制值,并且每个位都有相应的位,所以ab10101101andab
1010 -a, or 10
&1101 -b, or 13
-----
1000 -c, or 8
Run Code Online (Sandbox Code Playgroud)