原文链接:
逻辑运算和位运算_Dug_Zhang的博客-CSDN博客
&和&&的区别_绿林寻猫-CSDN博客
基础拾遗:除了&和&&的区别,你还要知道位运算的这5个运算符_dotNet全栈开发-CSDN博客
相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。
不同点:
(1)&&具有短路的功能,而&不具备短路功能。
(2)当&运算符两边的表达式的结果都为true时,整个运算结果才为true。而&&运算符第一个表达式为false时,则结果为false,不再计算第二个表达式。
(3)&还可以用作位运算符[主业],当&操作符两边的表达式不是boolean类型时,&表示按位与操作.
-
&是位运算,返回结果是int类型
-
&&是逻辑运算,返回结果是bool类型
位运算符&的规则:
1&1=1
0&1=0
0&0=0
15&20=4
0000 0000 0000 1111
0000 0000 0001 0100
15&20 结果:
0000 0000 0000 0100