XOR二进制数c#

时间:2017-04-29 10:47:15

标签: c# binary xor

我有2个带二进制数的变量:

var bin1 = Convert.ToString(339, 2);
var bin2 = Convert.ToString(45, 2);

我希望对它们进行异或并获得第三个二进制数,但运算符^不能对它们起作用。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

不要将二进制数表示为字符串,XOR表示为int s:

var xored = 339 ^ 45;

运营商^完成工作后,将结果转换为string

var binXored = Convert.ToString(xored, 2);

答案 1 :(得分:1)

首先对两个数字进行异或,然后将其转换为string表示,这是可能的。

int n1 = 339;
int n2 = 45;
int n3 = n1 ^ n2;

string b1 = Convert.ToString(n1, 2);
string b2 = Convert.ToString(n2, 2);
string b3 = Convert.ToString(n3, 2);