首页 > 解决方案 > 如何在java中找到从用户输入的三个数字的XOR

问题描述

如何计算三个数字的异或,例如用户输入的数字是 a,b 和 c 然后 (a XOR b XOR) = ?

我写了一个函数来计算相同的,但它不能正常工作:

int xorsum(int a, int b, int c)
    {
        int res1 = (a|b)& (~a|~b);
        int res = (res1|c) & (~res1 | ~c);
        return res ;
    }

标签: java

解决方案


int xorsum(int a, int b, int c)
    {
        return (a ^ b) ^ c;
    }

解释:

XOR 被定义为二元运算符(即有两个参数),而不是两个以上变量的函数。A XOR B XOR C = (A XOR B) XOR C = A XOR (B XOR C)


推荐阅读