我执行以下操作:
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相同。
我试过了:
public static byte Unmerge(this byte b1, byte b2) {
return (byte)(b1 & ~b2);
}
但它没有正常工作。
答案 0 :(得分:11)
XOR是自反的 - 所以你可以使用:
byteVar3 = byteVar.Merge(byteVar2);
(我不确定“merge”在这里是一个特别好的名字,请注意......你刚刚进行了XOR操作。甚至不清楚为什么你需要一个单独的方法。)