当前位置: 首页 > 知识库问答 >
问题:

为什么在Java和C#中有逻辑运算符和按位运算符的区别?

晋越彬
2023-03-14

那么,在这些语言中同时使用逻辑运算符和按位运算符有什么具体的理由吗?或者他们只是出于熟悉的原因被包括在内?

(我知道您可以在布尔上下文中使用“按位”运算符来避免Java和C#中的短路,但我从来不需要这样的行为,所以我想这可能是一个大部分未使用的特例)

共有1个答案

燕雨石
2023-03-14

1)在这些语言中同时使用逻辑运算符和按位运算符有什么具体的原因吗?

是:

  • 我们有布尔运算符来执行布尔逻辑(关于布尔值)。
  • 我们有按位运算符来执行按位逻辑(对整数值)。
 类似资料:
  • 问题内容: 以下两个if块的内容都应执行: 那么使用或使用之间有什么区别? 注意:我调查了一下,找到了自己的答案,下面将其包括在内。请随时纠正我或发表您的看法。肯定还有改进的空间! 问题答案: 逻辑运算符适用于布尔值,而按位运算符适用于位。在这种情况下,效果将是相同的,但是有两个区别: 按位运算符并不意味着这样做,这使得读取起来更困难,但最重要的是 逻辑或运算符将评估第一个条件。如果为true,那

  • 有符号和无符号变量在按位运算上有区别吗?< br >例如,在处理无符号数字时:< br> 将得到00000101。 但当处理带符号的数字时会发生什么?

  • 问题内容: Java中的和运算符有什么区别? 问题答案: 是算术右移,是逻辑右移。 在算术移位中,将扩展符号位以保留数字的符号性。 例如:用8位表示的将是(因为最高有效位的权重为负)。使用算术移位将其右移一位,你将得到1。但是,逻辑右移并不关心该值是否可能表示带符号的数字;它只是将所有内容移至右侧,并从左侧填充0。使用逻辑移位将右移一位将得到。

  • 逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。 表 1 逻辑运算符的用法、含义及实例 运算符 用法 含义 说明 实例 结果 && a&&b 短路与 ab 全为 true 时,计算结果为 true,否则为 false。 2>1&&3<4

  • 问题内容: 运算符和有什么不一样?和运算符|| ?? 而且&和&& ??有什么区别? 谢谢… 问题答案: 主要区别在于,在表达式中,如果为false,则不会进行计算,而在两者中,无论如何都将进行计算。可以说是“ 短路 ”评估。 同样,对于:如果为true,则不会进行评估,而对于两者而言,则无论如何都将被评估。