2010-09-14 31 views
6

Obtengo una cadena hexadecimal que debe convertirse en un entero de 8 bits con signo. Actualmente estoy convirtiendo utilizando Int16/Int32, lo que obviamente no me dará un valor negativo para un entero de 8 bits. Si obtengo el valor 255 en hexadecimal, ¿cómo convierto eso a -1 en decimal? Supongo que quiero usar un sbyte, pero no estoy seguro de cómo obtener ese valor allí correctamente.¿Cómo convierto una cadena hexadecimal en un entero con signo?

+2

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

+0

relacionado y con excelentes respuestas, https://stackoverflow.com/questions/4275440/how-to-convert-hex-string -to-hex-number – barlop

Respuesta

0

Mi solución fue poner la primera toma la primera 8 bits del entero de 16 bits y almacenarlos en un sbyte.

2

que debe realizar un reparto unchecked, así:

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

¿Por qué se bajó este número? – SLaks

+0

Supongo que es porque OP estaba pidiendo convertir "STRING en un entero con signo". De todos modos, tu respuesta fue útil para mí. ¡Gracias! :) –

Cuestiones relacionadas