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

时间:2014-10-16 12:29:38

标签: c# .net

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

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。 任何想法?

1 个答案:

答案 0 :(得分:3)

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);

将整数输出为HEX字符串。