2010-09-14 85 views
6

我得到一個十六進制字符串,需要轉換爲一個有符號的8位整數。目前我使用Int16/Int32轉換,這顯然不會給我一個8位整數的負值。如果我在十六進制中得到值255,我該如何將它轉換爲十進制的-1?我假設我想使用一個sbyte,但我不確定如何在那裏正確地獲取那個值。如何將十六進制字符串轉換爲有符號整數?

+2

http://msdn.microsoft.com/en-us/library/bb311038.aspx – 2010-09-14 00:52:57

+0

相關和很好的答案,https://stackoverflow.com/questions/4275440/how-to-convert-hex-string十六進制數字 – barlop 2017-11-16 21:59:03

回答

0

我的解決辦法是把第一個拿第一8位的16位整數並將它們存儲在一個字節中。

2

您需要執行unchecked投,像這樣:

sbyte negativeOne = unchecked((sbyte)255); 
+0

這是爲什麼降低了這個數字? – SLaks 2010-09-14 02:49:57

+0

我想,這是因爲OP要求將「STRING轉換爲有符號整數」。無論如何,你的回答對我很有幫助。謝謝! :) – 2014-12-29 12:36:27

相關問題