2015-01-23 4 views
1

Я хочу преобразовать шестнадцатеричный в UInt. Проблема заключается в следующем:WPF Преобразование hex в UInt

, когда я пытаюсь это:

uint value = Convert.ToUInt32((hex), 16); 

и гекс например, размера 12 байт, все работает отлично, но когда я пытаюсь преобразовать гекс с 32 размером байт У меня есть эта ошибка:

value too large or too small for int32 

Тогда я пытаюсь это:

ulong = Convert.ToUInt64((hex), 16); 

, и я получаю эту ошибку.

value too large or too small for int64 

Кто-то знает, что я делаю неправильно?

+1

Непонятно, что вы просите. Образцы кода не компилируются. Вы хотите ** разобрать ** строку, содержащую некоторое число в шестнадцатеричном формате? показать в качестве примера ... – DrKoch

+0

не могли бы вы привести пример строки, которую вы используете? –

+0

Вы правы, строка - это шестнадцатеричное число. Например: у меня есть шестнадцатеричное число D34128, и я хочу 13844776 десятичное число, но когда у меня есть размер шестнадцатеричного 32 байта, я получаю ошибку. – IrApp

ответ

0

Наконец я сократил шестнадцатеричное число, как это:

Hex = 1234567891123456789223456789

ulong result= Convert.ToUInt64(12345678911234, 16); 
result += Convert.ToUInt64(56789223456789, 16); 

Это решить мою проблему. Спасибо за ответы, заставило меня подумать !!!

+0

Вы уверены, что это хорошо? e g 0x11 = 17 в вашем подходе это будет 2 – roxik0

+0

Вы правы .... так что я могу сделать ??? – IrApp

+0

Но для чего вам нужно? В чем дело? Почему вы должны использовать такие большие числа? – roxik0

 Смежные вопросы

  • Нет связанных вопросов^_^