我有一个包含十六进制值的字符串变量。我想要的是将此字符串转换为整数,以便我可以用另一个十六进制值减去此值。代码如下:
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。
任何想法?
答案 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字符串。