我做了一些研究,并在java中编写了一些适合我需要的简单程序。 我在整数上使用逻辑运算符AND,OR,XOR,但我想念XNOR运算符。 我正在寻找的是一个XNOR运算符,其行为与其他提到的相同(可以应用于整数)。 有人可以用Java编写这样的类吗?

===============>>#1 票数:61

boolean xnor(boolean a, boolean b) {
    return !(a ^ b);
}

甚至更简单:

boolean xnor(boolean a, boolean b) {
    return a == b;
}

如果你实际上在谈论按位运算符(你说你在int运行),那么你将需要第一个代码片段的变体:

int xnor(int a, int b) {
    return ~(a ^ b);
}

===============>>#2 票数:16

逻辑XNOR运算符是==

你是说按位吗?

===============>>#3 票数:3

if (!a ^ b) doSomething();

它给出了相同的结果,因此您不必使用括号。

而且我更喜欢XOR门,因为如果你不小心在一个应该是==某个地方使用= ,则可能会犯错误。

if (a = b) doSomething(); // performs like "if (b) doSomething();"

一个按位版本。

someInt = ~a ^ b

===============>>#4 票数:2

运算符是A==B ,或!(A^B)

  ask by user1092472 translate from so

未解决问题?本站智能推荐:

1回复

Java中的逻辑运算符XNOR [重复]

这个问题已经在这里有了答案: Java XNOR运算符 4个答案 如何在Java中正确实现XNOR? 我需要A和B都具有相同的值。
8回复

Java ++运算符

所以我正在测试运营商,因为我正在用java帮助我的朋友,我偶然发现了一个奇怪的编程顺序。 运行以下代码时发生了什么 以下代码的输出是 是什么原因导致第二个控制台B数学输出= 12时它自己加6,然后是++(这是+1)
2回复

Java中的运算符

我正在研究Java中的运算符,但有一个我无法解决的问题。 输出是“第一第二第三”。 我认为应该是“第二名第三名”,因为 大于&&。 我不知道我的错误在哪里,但显然有一个错误。
5回复

Java ...运算符

在Filthy Rich Clients中,此代码显示为: 到底是什么意思?
4回复

= Java中的运算符

考虑以下代码: 为什么val = 3 ? 我会像这样计算: 但它是3.我不明白为什么增量val =+ ++i在i = 1并且预先递增到i = 2时第二次没有完成。
6回复

Java运算符“:”“?”

我不确定如何使用运算符:和? 示例:方法末尾有这段代码 如何将其拆分为if / else类型?
2回复

Java运算符||,-,/,+

结果:5对42 1.有人能解释为什么第一个println结果为5并与's'的最后一位数字一致吗? 例如,如果我将“ s”更改为1012,答案将为2。为什么? 2.是非题。 答案是正确的。 为什么? 就像问是或否? -是... 3.数学对我来说毫无意义。 有人向我解
4回复

= java中的运算符

有人可以解释我为什么可以这样做: 如果没有运算符重载,这怎么可能(在这种情况下,“=”) 我来自C ++背景,所以解释......
5回复

Java =运算符

我怎样才能在我的课程中重现这种行为?
2回复

&=运算符是Java中的短路运算符吗? [重复]

这个问题已经在这里有了答案: Java中&=和| =会短路吗? 2个答案 在Java中, &&和|| 短路。 因此,如果不需要(例如false && a , true || b ),则它们不会评估第二个操作数。 那么&am