Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NumberFormatException:将包含二进制数字的字符串转换为十进制后,int无效_Java_String_Int_Parseint - Fatal编程技术网

Java NumberFormatException:将包含二进制数字的字符串转换为十进制后,int无效

Java NumberFormatException:将包含二进制数字的字符串转换为十进制后,int无效,java,string,int,parseint,Java,String,Int,Parseint,我有一个问题,我有一个Java字符串,其中包含无法转换为十进制等价物的二进制数字 问题标题中的错误是由以下代码导致的: int decimalValue = Integer.parseInt("001001000110000111001001000111000110001010001011",2); System.out.println("Ciphertext :\t"+decimalValue); 但是,当我使用较小的二进制数字字符串(如“1101”)进行测试时,程序运行良

我有一个问题,我有一个Java字符串,其中包含无法转换为十进制等价物的二进制数字

问题标题中的错误是由以下代码导致的:

int decimalValue = Integer.parseInt("001001000110000111001001000111000110001010001011",2);
        System.out.println("Ciphertext :\t"+decimalValue); 

但是,当我使用较小的二进制数字字符串(如“1101”)进行测试时,程序运行良好。我做错什么了吗?

是的。您正试图将超过32位解析为
int
。您需要一个长的(基于您的输入)类似

long decimalValue = Long.parseLong(
        "001001000110000111001001000111000110001010001011", 2);

这是
40002404508299
Integer.MAX_VALUE
2147483647
)。

是。您正试图将超过32位解析为
int
。您需要一个长的(基于您的输入)类似

long decimalValue = Long.parseLong(
        "001001000110000111001001000111000110001010001011", 2);

它是
40002404508299
Integer.MAX_VALUE
2147483647
)。

整数有一个最大值。我猜你超过了这个值。不过,这只是一个猜测。你会建议我如何继续使用BigInteger?你能放一个演示poc吗?如果它有效,我会将你的标记为答案!谢谢整数有一个最大值。我猜你超过了这个值。不过,这只是一个猜测。你会建议我如何继续使用BigInteger?你能放一个演示poc吗?如果它有效,我会将你的标记为答案!谢谢
Integer.MAX\u MAX\u VALUE
我认为是一个拼写错误。@Gendarme拼写错误修复。谢谢。
Integer.MAX\u MAX\u VALUE
我认为是一个拼写错误。@Gendarme拼写错误修复。谢谢