11010001110011000000000111111110

11010001110011000000000111111110

我正在尝试使用代码从字符串“ 11010001110011000000000111111110”获取整数:

int n = Integer.parseInt("11010001110011000000000111111110", 2);


但我得到一个错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "11010001110011000000000111111110"

最佳答案

仅仅是因为对于int数据类型,具有二进制内容的字符串表示的值太大。您需要解析为长数据类型。二进制字符串表示值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);

07-25 23:24