尝试将二进制转换为十六进制时不一致地获取 NumberFormatException
Inconsistently getting NumberFormatException when trying to convert binary to hex
如果使用变量 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);
}
}
它实际上可以很好地处理多头。
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
来说太大了。
如果使用变量 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);
}
}
它实际上可以很好地处理多头。
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
来说太大了。