Otrzymuję ciąg szesnastkowy, który musi zostać przekonwertowany na podpisaną 8-bitową liczbę całkowitą. Obecnie konwertuję używając Int16/Int32, co oczywiście nie daje mi wartości ujemnej dla 8-bitowej liczby całkowitej. Jeśli otrzymam wartość 255 w Hex, jak mogę przekonwertować to na -1 w systemie dziesiętnym? Zakładam, że chcę użyć sbyte, ale nie jestem pewien, jak poprawnie uzyskać tę wartość.Jak przekonwertować ciąg szesnastkowy na liczbę całkowitą ze znakiem?
6
A
Odpowiedz
0
Moje rozwiązanie było umieścić najpierw wziąć pierwszy 8 bitów 16-bitowej liczby całkowitej i zapisać je w sbajtach.
2
Trzeba wykonać unchecked
obsadę, tak:
sbyte negativeOne = unchecked((sbyte)255);
+0
Dlaczego zostało to odrzucone? – SLaks
+0
Chyba dlatego, że OP poprosił o przekonwertowanie "STRING na liczbę całkowitą ze znakiem". W każdym razie Twoja odpowiedź była dla mnie pomocna. Dziękuję Ci! :) –
7
http://msdn.microsoft.com/en-us/library/bb311038.aspx –
związane i z wielką odpowiedzi, https://stackoverflow.com/questions/4275440/how-to-convert-hex-string -to-hex-number – barlop