将字符串变量转换为十六进制

本文关键字:十六进制 转换 变量 字符串 | 更新日期: 2023-09-27 18:26:54

我有一个包含十六进制值的字符串变量。我想要的是将此字符串转换为整数,以便我可以用另一个十六进制值减去此值。代码如下:

string im_cmd = new string(ch3) //ch3 is char array type (ch3[])
im_cmd = myArray[position, 0]; // get the hex value from myArray
int vh = Convert.ToInt32(im_cmd);
int diff = vh - pc;
im_cmd = Convert.ToString(Convert.ToInt32(diff.ToString(), 16), 2);

例如,如果 im_cmd = 00400004,则变量 VH = 0x00061a84我想要的是vh = 0x00400004,这样我就可以用仅包含十六进制值的 PC 值减去 VH。有什么想法吗?

将字符串变量转换为十六进制

Convert.ToInt32 方法有一个重载,您可以在其中提供基础:

int vh = Convert.ToInt32(im_cmd, 16);

更新:
提示:而不是

im_cmd = Convert.ToString(Convert.ToInt32(diff.ToString(), 16), 2);

您可以使用

im_cmd = String.Format("{0:x}", diff);

将整数输出为十六进制字符串。