二进制字符串的 NumberFormatException
NumberFormatExceprion for binary string
我正在尝试使用代码从字符串“11010001110011000000000111111110”获取整数:
int n = Integer.parseInt("11010001110011000000000111111110", 2);
但我得到一个错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "11010001110011000000000111111110"
仅仅是因为二进制内容的字符串表示的值对于int数据类型来说太大了。您需要解析为 long 数据类型。二进制字符串表示 3519807998 的值。整数最大值 (Integer.MAX_VALUE) 为:2147483647。试试这个:
String binaryString = "11010001110011000000000111111110";
long n = Long.parseLong(binaryString, 2);
或者这样:
String binaryString = "11010001110011000000000111111110";
long lng = new BigInteger(binaryString, 2).longValue();
System.out.println(lng);
我正在尝试使用代码从字符串“11010001110011000000000111111110”获取整数:
int n = Integer.parseInt("11010001110011000000000111111110", 2);
但我得到一个错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "11010001110011000000000111111110"
仅仅是因为二进制内容的字符串表示的值对于int数据类型来说太大了。您需要解析为 long 数据类型。二进制字符串表示 3519807998 的值。整数最大值 (Integer.MAX_VALUE) 为:2147483647。试试这个:
String binaryString = "11010001110011000000000111111110";
long n = Long.parseLong(binaryString, 2);
或者这样:
String binaryString = "11010001110011000000000111111110";
long lng = new BigInteger(binaryString, 2).longValue();
System.out.println(lng);