2010-09-14 15 views
6

Je reçois une chaîne hexadécimale qui doit être convertie en un entier signé de 8 bits. Actuellement, je convertis en utilisant Int16/Int32, ce qui ne va évidemment pas me donner une valeur négative pour un entier de 8 bits. Si je reçois la valeur 255 en hexadécimal, comment puis-je convertir cela en -1 en décimal? Je suppose que je veux utiliser un sbyte, mais je ne suis pas sûr de savoir comment obtenir cette valeur correctement.Comment convertir une chaîne hexadécimale en entier signé?

+2

http://msdn.microsoft.com/en-us/library/bb311038.aspx –

+0

liés et avec de bonnes réponses, https://stackoverflow.com/questions/4275440/how-to-convert-hex-string -to-hex-number – barlop

Répondre

0

Ma solution était de mettre le premier prendre la première 8 bits de l'entier 16 bits et stockez-les dans un octet.

2

Vous devez effectuer une unchecked casting, comme celui-ci:

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

Pourquoi cela a-t-il été réduit? – SLaks

+0

Je suppose que c'est parce que OP demandait de convertir "STRING en entier signé". Quoi qu'il en soit, votre réponse m'a été utile. Je vous remercie! :) –

Questions connexes