当两边是布尔值时,&和&&都可以用作逻辑与的运算符,区别是&&只要第一个条件为False则后面的条件不执行,&如果第一个条件为False后面的条件也会执行。
例子:
If(x==33 && ++y>0) //y不增加
If(x==33 & ++y>0) //y增加
&还可以用作位运算符,当&操作符两边的表达式不是布尔值时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
当两边是布尔值时,&和&&都可以用作逻辑与的运算符,区别是&&只要第一个条件为False则后面的条件不执行,&如果第一个条件为False后面的条件也会执行。
例子:
If(x==33 && ++y>0) //y不增加
If(x==33 & ++y>0) //y增加
&还可以用作位运算符,当&操作符两边的表达式不是布尔值时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。