单片机C语言&和&&有何区别?
的有关信息介绍如下:&是位与运算;&&是逻辑与运算。
举例:a=0xfe;b=0x31;
则:a&b=0x30; 返回的是数据。
a=0xfe;b=0x31;c=0x11;d=0x00;
则:(a>b)&&(b>c)=1(真)
(a>b)&&(c>a)=0(假,c小于a)
a&&b (真,对于不为0的数全为真,即 真“与”真,结果:真)
a&&d (假,a真d假,即 真“与”假,结果:假)
返回的是布尔值。(只有1(真)和0(假))
就是位与和逻辑与,一个用字位运算,一个用在逻辑运算
楼上正解!&是按位与 &&是逻辑与,它们的运算法则不同~~
位 与逻辑 运算 区别