将二进制转换为十进制并翻转0和1 JAVA

将二进制转换为十进制并翻转0和1 JAVA,java,binary,parseint,Java,Binary,Parseint,有人能帮忙解决这个问题吗? 谢谢二进制11111111111111 010001的十进制数将溢出整型数据类型 使用长。您将获得NumberFormatException,因为生成的数字4294967249超出了整数的范围(即大于Integer.MAX_值)。您可以改为尝试biginger,例如: Exception in thread "main" java.lang.NumberFormatException: For input string: "1111111111111111111111

有人能帮忙解决这个问题吗?
谢谢

二进制
11111111111111 010001的十进制数将溢出整型数据类型


使用长。

您将获得
NumberFormatException
,因为生成的数字
4294967249
超出了
整数的范围(即大于
Integer.MAX_值
)。您可以改为尝试
biginger
,例如:

Exception in thread "main" java.lang.NumberFormatException: For input string: "11111111111111111111111111010001"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:583)
    at com.company.Main.reverseIntBitwise(Main.java:169)
    at com.company.Main.main(Main.java:150)

或者
Long.parseLong()
@Eran是的,绝对是!
Exception in thread "main" java.lang.NumberFormatException: For input string: "11111111111111111111111111010001"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:583)
    at com.company.Main.reverseIntBitwise(Main.java:169)
    at com.company.Main.main(Main.java:150)
String res2 = "11111111111111111111111111010001";
System.out.println(new BigInteger(res2, 2));