Java конвертирует int в шестнадцатеричный и обратноJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java конвертирует int в шестнадцатеричный и обратно

Сообщение Anonymous »

У меня есть следующий код...

Код: Выделить всё

int Val=-32768;
String Hex=Integer.toHexString(Val);
Это соответствует ffff8000

Код: Выделить всё

int FirstAttempt=Integer.parseInt(Hex,16); // Error "Invalid Int"
int SecondAttempt=Integer.decode("0x"+Hex);  // Error "Invalid Int"
Итак, сначала он преобразует значение -32768 в шестнадцатеричную строку ffff8000, но затем не может преобразовать шестнадцатеричную строку обратно в целое число.

В .Net он работает так, как я ожидал, и возвращает -32768.

Я знаю, что мог бы написать свой собственный небольшой метод для преобразования этого самостоятельно, но мне просто интересно, я что-то упускаю или это действительно ошибка?

Подробнее здесь: https://stackoverflow.com/questions/120 ... back-again
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»