C#将字符串转换为十六进制,将XOR转换为十六进制数

Sco*_*sys 0 c#

我想对2个十六进制数进行XOR以创建一个唯一的十六进制数

恩.7F4 ^ 65D等于1A9

我理解XOR应该如何工作,但每次我尝试转换字符串十六进制数:

string hex1 = "7F4";
int hexInt = Convert.ToInt32(hex1, 16);
Run Code Online (Sandbox Code Playgroud)

我最终得到一个数字:2036

如何保持十六进制数的完整性,以便我可以对2个十六进制数进行异或?

C.E*_*uis 8

数字是一个数字,十六进制就是数字显示的方式.

7F4十六进制等于2036十进制,你可以对它执行按位运算,它们将产生正确的输出.


Den*_*gan 5

将十六进制字符串转换为普通整数,对整数执行异或,然后将结果整数格式化为十六进制字符串。

string hex1 = "7F4";
string hex2 = "65D";
int dec1 = Convert.ToInt32(hex1, 16);
int dec2 = Convert.ToInt32(hex2, 16);
int result = dec1 ^ dec2;
string hexResult = result.ToString("X");
Run Code Online (Sandbox Code Playgroud)