【问题标题】:What is inverse function to XOR?异或的反函数是什么?
【发布时间】:2012-12-26 03:15:24
【问题描述】:

Java 中有 XOR 函数 - a^b

例如:5^3 = 6

你能告诉我反函数吗?如果我有63,我可以得到包含数字5 的数字范围吗?

【问题讨论】:

    标签: java xor inverse


    【解决方案1】:

    逆是异或!

    如果你有:

    c = a^b;
    

    如果您有其他可用值,您可以取回ab

    a = c^b; // or b^c (order is not important)
    b = c^a; // or a^c
    

    例如,如果a = 5b = 3(以及你提到的c = 6)你会得到:

    b=0011 (3)            a=0101 (5)
    c=0110 (6) XOR   or   c=0110 (6) XOR
    ----------            ----------
    a=0101 (5)            b=0011 (3)
    

    【讨论】:

      【解决方案2】:

      XOR 的逆是 XOR 本身。
      我在 leetcode 上遇到了类似的问题。 Leetcode-1720

      【讨论】:

      • 就像你一样,leetcode 一个编程宝藏
      【解决方案3】:

      异或的逆是异或本身。例如,如果您进行此操作:

      3 ^ 4 = 7
      

      以下说法正确:

      4 ^ 7 = 3
      
      3 ^ 7 = 4
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2021-12-09
        • 2021-12-27
        • 2014-11-13
        • 1970-01-01
        • 2018-10-07
        • 1970-01-01
        • 2011-09-17
        • 1970-01-01
        相关资源
        最近更新 更多