java.lang.NumberFormatException : For input string: "10101010101010101010101010101010"

标签 java binary integer

二进制字符串为“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/

相关文章:

java - 为什么类型为 String 的空变量声明为 "null"而不是 ""(空白或空)

java - 是否有 Roo 应用程序与外部 REST 服务交互以进行查找和/或验证的示例

search - 二分查找查找大于或等于给定键的元素

node.js - 使用 body-parser 和 Express 从请求中读取 png 图像

c - 警告 : cast from pointer to integer of different size [-Wpointer-to-int-cast]

java - `public <T extends Number> T method( Integer x ) {...}` 可以接受扩展 Integer 类型的输入吗?

java - 无法在 Samsung A5 (2016) 上使用 Toast

java - 以编程方式设置 Android 的日期/时间

binary - 在计算机中,为什么最大整数加一会导致零?

arrays - 检查连续数字