为什么我们编码(a&& b)而不是(a& b)?

时间:2016-04-20 04:19:56

标签: logic

在逻辑表达式中我们使用两个“和(&)”操作数是什么原因?它如何在程序的背景下工作?我的意思是机器如何运行该指令?

2 个答案:

答案 0 :(得分:1)

&是一个按位运算符,它总是评估双方。

&&是一个逻辑运算符,所以它评估左侧,如果它是true,那么它继续评估右侧。这就是为什么它有时被称为使用&&的短路操作。

请记住,这就是所提到的运算符是如何以多种语言(C,C#,Java等)实现的,您应该检查文档以了解您正在使用的特定语言。

答案 1 :(得分:0)

通常有两个"和"操作数是区分逻辑和按位和

这些操作有什么区别?

"逻辑和" (通常表示为&&或"和#34;在大多数语言中)比较两个布尔值。这里重要的是"逻辑和"对值为true或false的操作执行操作。用比特来表示真假的基本实现并不重要。

"按位和" (由单个"&"表示)执行"逻辑和"两个值之间的值,用于这些值中的每个位。例如,两个8位无符号整数:5和9.在二进制中,5看起来像00000101. 9看起来像00001001. A"按位和"计算两个数字中设置为1的位。按位且在5和9之间的结果将是1,其为二进制的00000001。

谷歌搜索"按位操作"将为您提供更多相关信息。