首先名称是不同的
&&逻辑与 ||逻辑或 它们都是逻辑运算符
& 按位与 | 按位或 它们都是位运算符
if(a==1&&b==2) 这是说既要满足a=1也要满足b=2
if(a==1||b==2) 这是说或者满足a=1或者要满足b=2
而a&b或者a|b则是二进制的与或运算
&同为1时为1,否则为0
|同为0时为0,否则为1
3&5则
0011
&0101
0001
等于1
3|5则
0011
|0101
0111
等于7
明白了吧O(∩_∩)O~
计算机内部是二进制的,不过为了人看起来比较方便都转化成了十进制的数。
另外,一般是否以二进制运算要看运算符。<<,>> ,^,~,&,|这些位运算符都是首先转换成二进制,再进行运算的,计算机内部其实也是这样,计算完成再转换回十进制。
目的:通过直接在内存中移动二进制位,然后二进制数再转成十进制数,大大提高运算了计算机的运行效率.因为移位和十进制数的对应关系是有数学公式算法的.