То, что вы просите, не имеет особого смысла. Если я не ошибаюсь, вы предлагаете использовать XOR для выполнения логических операций так же, как AND и OR. Ваш код на самом деле показывает, что я ссылаюсь на:
public static boolean logicalXOR(boolean x, boolean y) {
return ( ( x || y ) && ! ( x && y ) );
}
Ваша функция имеет логические входы, и при использовании побитового XOR для логических значений результат будет таким же, как и код, который вы предоставили. Другими словами, побитовое XOR уже эффективно при сравнении отдельных битов (логических значений) или при сравнении отдельных битов в больших значениях. Чтобы поместить это в контекст, в терминах двоичных значений любое ненулевое значение равно TRUE, и только ZERO - false.
Таким образом, для применения XOR таким же образом, как применяется логическое И, вы должны либо использовать только двоичные значения только с одним битом (давая тот же результат и эффективность), либо двоичное значение должно быть оценено как целое вместо за бит. Другими словами, выражение (010 ^^ 110) = FALSE вместо (010 ^^ 110) = 100. Это удалит большую часть семантического значения из операции и будет представлять собой логический тест, который вы все равно не должны использовать.