&与&&的区别
在大多数编程语言中,“&”和“&&”操作符都是逻辑和操作符,但在某些情况下,它们的行为可能不同。“&”和“&&”都是用于计算条件语句的操作符。两者之间最基本的区别是“&”操作符既是逻辑操作符又是位操作符,而“&&”操作符只是逻辑操作符。
阅读本文以了解有关这两个操作符的更多信息以及它们之间的区别。让我们从“&”和“&&”操作符的基本概述开始。
什么是“&”运算符
&操作符既是逻辑操作符,也是位操作符。因此,“&”运算符既可以用于布尔值,也可以用于二进制数据(位)。当”&”操作符用作逻辑操作符时,结果为TRUE或FALSE。如果条件语句的两边都为TRUE,则返回TRUE,否则返回FALSE。
“&”运算符让编译器可以计算条件表达式的两边。因此,即使左边的结果为FALSE,它也会计算表达式的右边。
“&”运算符是位与运算符,用于操作操作数的每一位。它比较第一个操作数的每个比特位与第二个操作数对应的比特位,如果两个比特位都为1,则将对应的结果比特位设置为1。否则,将结果位设置为0。
什么是“&&”运算符
&&运算符是一个纯粹的逻辑运算符。 因此,&&运算符只对布尔数据类型,即比特起作用。 “&&”运算符也被称为短路运算符。这是因为它只检查条件语句的左手边。
&&运算符是一个逻辑和运算符,它对布尔表达式进行操作。 如果它的操作数都是 “真”,它就返回 “真”,否则就返回 “假”。 如果条件语句左边的结果是FALSE,那么它就不会评估条件表达式的右边,因为结果已经知道是False。
“&”和”&&”的区别
The following table highlights all the important differences between “&” and “&&” operators −
S. No. | “&” 运算符 | “&&” 运算符 |
---|---|---|
1. | 它是一个位操作符。 | 它是一个逻辑运算符。 |
2. | 它对表达式的左边和右边进行评估。 | 它只对表达式的左边进行评估。 |
3. | 它对 “布尔 “数据类型(真或假)进行操作。 | 它只对 “布尔 “数据类型进行操作。 |
4. | 它也在位上运行。 | 它不在位上操作。 |
5. | 它是用来检查逻辑条件的。 | 它是用来检查逻辑条件的。 |
& 运算符示例
#include<stdio.h>
int main(){
int x = 3;
int y = 4;
int z = x & y;
printf ("z = %d", z);
return 0;
}
&&运算符示例
#include<stdio.h>
int main(){
int a = 6, b = 3;
printf("%d", a&&b);
return 0;
}
总结
总而言之,两者之间最显著的区别是“&”操作符是位操作符和逻辑操作符,而“&&”操作符是纯粹的逻辑操作符。