Непоследовательное получение NumberFormatException при попытке преобразовать двоичный код в шестнадцатеричный
Если использовать переменную bin1, она не будет конвертироваться, однако, если я заменю параметр на bin2, это, похоже, будет работать
Я пытался использовать long вместо int. Это все то же самое.
public class Test{
public static void main(String[] args) {
String bin1 = "11011100000000010001000000000000";
String bin2 = "01100100001000010001000000000000";
int dec = Integer.parseInt(bin1, 2);
String hex = Integer.toString(dec, 16);
System.out.println(hex);
}
}
1 ответ
Решение
Это на самом деле хорошо работает с длинными.
public class Test{
public static void main(String[] args) {
String bin1 = "11011100000000010001000000000000";
String bin2 = "01100100001000010001000000000000";
long dec = Long.parseLong(bin1, 2);
String hex = Long.toString(dec, 16);
System.out.println(hex);
}
}
Результат:
dc011000
Ваш номер слишком велик для int
,