2014-10-16 66 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

相關問題