2014-10-16 76 views
1

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

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这样我就可以减去VH与只包含十六进制值PC值。 有什么想法?

回答

3

Convert.ToInt32方法有一个过载在这里可以提供基:

UPDATE
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字符串。

+0

它的工作原理!我也试过 int vh = int.Parse(im_cmd,System.Globalization.NumberStyles.HexNumber); 和你的答案是一样的结果! 再次感谢! – 2014-10-16 12:36:45

+0

感谢您的更新@ChrFin 真的很有用! – 2014-10-16 12:47:09

相关问题