1. 与 (&):
(双目运算符)
与运算是指将a和b两个十进制变量转化成二进制后,同位比较,都为1取值为1,否则为0,例:
(10)10 & (20)10 = (1010)2 & (10100)2
= 10100
& 1010
-------------
00000
(00000)2=(0)2=(0)10
下面代码实现一下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int c = a & b;
printf("%d",c);
return 0;
}
样例输入:
5 10
样例输出:
0
----------------------------------------------------不怎么华丽的分隔线--------------------------------------------------
2.或(|):
(双目运算符)
或运算是指将a和b两个十进制变量转化成二进制后,同位比较,其中有1位或都为1,就取值为1,否则为0,例:
(10)10 | (20)10 = (1010)2 | (10100)2
= 10100
|| 1010
-------------
11110
(11110)2=(30)10
同样代码实现一下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int c = a | b;
printf("%d",c);
return 0;
}
样例输入:
5 10
样例输出:
15
----------------------------------------------------不怎么华丽的分隔线--------------------------------------------------
3.非(!):
(单目运算符)
这个最好记,如果a不等于0,!a=false,a=true,否则!a=true,a=false.
!10=0(false) ,!0=1(true)
这里就不水代码了.