Я занимаюсь некоторыми исследованиями, и я написал несколько простых программ в java, которые соответствуют моим потребностям. Я использовал логические операторы AND, OR, XOR для целых чисел, но я пропустил оператор XNOR. То, что я ищу, - это оператор XNOR, который ведет себя так же, как и другие, упомянутые (могут применяться к целым числам). Возможно ли кому-нибудь написать такой класс на Java?
Оператор Java XNOR
Ответ 1
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
Логическим оператором XNOR является ==
.
Вы имеете в виду побитовое?
Ответ 3
Оператор A==B
или !(A^B)
.
Ответ 4
if (!a ^ b) doSomething();
Он дает тот же результат, поэтому вам не нужно использовать скобки.
И я предпочел бы XOR-ворота больше, поскольку ошибка, вероятно, будет сделана, если вы случайно используете =
где-то, что должно быть ==
.
if (a = b) doSomething(); // performs like "if (b) doSomething();"
Побитовая версия.
someInt = ~a ^ b