位与运算问题
#include <iostream>using namespace std;
int main()
{
short a = 23; // 10111
short b = 33; //100001
short c = 0;
c = a & b;
cout<<c<<endl; //为什么结果是1,而不是32? &的空位就为0吗?C++哪在这方面是怎么定义的?
return 0;
}
本帖最后由 bin554385863 于 2019-11-27 14:21 编辑
C++的位运算和C是一样的
或|: 0|1 = 1, 1|0 = 1,1|1 = 1;
异活^: 0^1 = 1, 1^0 = 1, 1^1 = 0, 0^0 = 0
非!: ~1 = 0, ~0 = 1;
与:&: 0|1 = 0, 1|0 = 0,1|1 = 1;
23 = 010111
&
33 = 100001
-------000001
1
页:
[1]