如题所述
&&是逻辑与,运算符两边应是true或false的表达式,当两边都为真时结果为真。
例如
int a=10
if(a>5&&a<15)
printf("***");
则条件成立,打印语句执行
&是数学运算中的按位与,将两个数值转化为二进制再一位一位地比较,当相同位上都为1时,结果为1否则为0
例如
int a=5 (0101)
int b=7 (0111)
a&b 结果仍为 5 (0101&0111每一位同为1时结果为1)
例如
int a=10
if(a>5&&a<15)
printf("***");
则条件成立,打印语句执行
&是数学运算中的按位与,将两个数值转化为二进制再一位一位地比较,当相同位上都为1时,结果为1否则为0
例如
int a=5 (0101)
int b=7 (0111)
a&b 结果仍为 5 (0101&0111每一位同为1时结果为1)
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-08-22
& 这个是对每一位进行与的。 &&而这个是把与的对象看成位来与!
第2个回答 2011-08-22
&&是逻辑与。a&b当且仅当a为真且b为真,a&&b才为真。
&是算数的按位与。a=1(0001),b=2(0010),a&b结果为0,a=6(0110),b=4(0100),a&b结果为4
&是算数的按位与。a=1(0001),b=2(0010),a&b结果为0,a=6(0110),b=4(0100),a&b结果为4