二进制字符串为“10101010101010101010101010101010”,32位
当我尝试时遇到此异常
Integer.parseInt("10101010101010101010101010101010", 2);
但是相同的字符串(添加“0b”前缀)
System.out.print(0b10101010101010101010101010101010);
返回-1431655766。
这是一个有效的二进制字符串吗?
最佳答案
Integer.parseInt() 是错误的方法,因为它只接受带符号的数字。
对于 Java8,使用:
Integer.parseUnsignedInt("10101010101010101010101010101010", 2);
在Java8之前,使用:
(int) Long.parseLong("10101010101010101010101010101010", 2);
关于java.lang.NumberFormatException : For input string: "10101010101010101010101010101010",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46485200/