C++ “&”和”&&”的区别

C++ “&”和”&&”的区别

“&”和”&&”运算符在大多数编程语言中都是逻辑与运算符,但在某些情况下它们的行为可能不同。”&”和”&&”都是用于评估条件语句的运算符。这两者之间最基本的区别是”&”运算符既是逻辑运算符又是位运算符,而”&&”运算符只是逻辑运算符。

阅读本文以了解有关这两个运算符的更多信息以及它们之间的区别。让我们从对”&”和”&&”运算符的基本概述开始。

“&”运算符是什么?

“&运算符”是一个逻辑运算符和位运算符。因此,”&”运算符适用于布尔值和二进制数据(位)。当”&”运算符用作逻辑运算符时,它产生TRUE或FALSE结果。如果条件语句的两侧都为真,则结果为TRUE,否则为FALSE。

“&”运算符允许编译器评估条件表达式的两侧。因此,它即使左侧表达式为FALSE,也会评估右侧表达式。

“&”运算符是位与运算符,它对操作数的每个位进行比较。如果第一个操作数的每个位与第二个操作数的相应位都是1,则将相应结果位设置为1。否则,将结果位设置为0。

“&&”运算符是什么?

“&&运算符”纯粹是一个逻辑运算符。因此,”&&运算符”只能用于布尔数据类型,即位。”&&”运算符也称为短路运算符。这是因为它只检查条件语句的左侧。

“&&”运算符是一个逻辑与运算符,它在布尔表达式上执行操作。如果它的两个操作数都为True,则返回True,否则返回False。如果条件语句的左侧结果为FALSE,则不会评估条件表达式的右侧,因为结果已经知道是False。

“&”和”&&”的区别

以下表格突出显示了”&”和”&&”运算符的所有重要区别-

S. No. “&” 操作符 “&&” 操作符
1 它是一个按位运算符。 它是一个逻辑运算符。
2 它评估表达式的左边和右边。 它只评估表达式的左边。
3 它作用于’Boolean’数据类型(真或假)。 它仅作用于’Boolean’数据类型。
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;
}

结论

总之,两者之间最显著的区别是”&”运算符是位与逻辑运算符,而”&&”运算符是纯粹的逻辑运算符。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程