异或运算的逆运算

本文关键字:逆运算 运算 | 更新日期: 2023-09-27 18:06:35

我这样做:

public static byte Merge(this byte b1, byte b2) {
    return (byte)(b1 ^ b2);
}

所以我可以调用:

byteVar = byteVar1.Merge(byteVar2);

现在,我正在寻找这个的反转。我应该实现一个Unmerge-Method来调用:

byteVar3 = byteVar.Unmerge(byteVar2);

byteVar3现在应该与byteVar1相同。

I have try:

public static byte Unmerge(this byte b1, byte b2) {
    return (byte)(b1 & ~b2);
}

但是不能正常工作

异或运算的逆运算

异或是自逆的-所以你可以使用:

byteVar3 = byteVar.Merge(byteVar2);

(注意,我不确定"合并"在这里是不是一个特别好的名字……你刚做了一个异或手术。甚至不清楚为什么要为它使用一个单独的方法。