&与&&的区别:
&对每一个都判断:按位于:就是吧a&b转换成二进制然后再进行与的运算&&只要前面是false,而不继续判断后面了:逻辑与:当a&&b就是当且仅当两个操作数均为true时,其结果才为true。
只要有一个为零,a&&b就为零。1 代表true,0代表false
int a=119;
int b=110
int
例1:
a&b=102
1110111 a的二进制
1101110 b的二进制
1100110 102的二进制 只要有一个值为0结果为0,否则结果为1
例2:
if(a>9&&a!=0){
true
}
|与||的区别:
|:第一个为true的话,还会继续去判断第二个。
||:第一个为true的话,就终止,不会判断第二个。
>>:
>>表示右移 转换为二进制右移
15 1111
右移2位
11 =3;
15>>2=3;