二进制程序中的java.lang.NumberFormatException
我对Java真的很陌生,请原谅我的无知,但我不明白为什么我的程序每次都会抛出一个错误。我正在制作一个程序,将字符串转换成二进制并返回。这是我的错误。我尝试过各种不同的方法,但它总是抛出相同的错误( 这是我的代码行二进制程序中的java.lang.NumberFormatException,java,exception,binary,numbers,format,Java,Exception,Binary,Numbers,Format,我对Java真的很陌生,请原谅我的无知,但我不明白为什么我的程序每次都会抛出一个错误。我正在制作一个程序,将字符串转换成二进制并返回。这是我的错误。我尝试过各种不同的方法,但它总是抛出相同的错误( 这是我的代码行 int charCode = Integer.parseInt(String.valueOf(binary), 2); 如果您想知道,二进制文件与StringBuilder一起使用。 提前感谢!:) PS我也试着找到类似的问题,比如我的问题,但没有结果 整数在Java(以及几乎所有其
int charCode = Integer.parseInt(String.valueOf(binary), 2);
如果您想知道,二进制文件与StringBuilder一起使用。
提前感谢!:)
PS我也试着找到类似的问题,比如我的问题,但没有结果 整数在Java(以及几乎所有其他编程语言)中的长度为4字节,这意味着它只能存储~43000000
数字,如果是负数,则它是~-2147000
到+2147000
您输入的数字太大,无法将其解析为整数
我也不明白为什么要把二进制代码解析成整数。这应该可以做到:
String binaryInput = "10000010001011110010000000010001000";
long myNumber = 0;
for (int i = binaryInput.length()-1; i >= 0; i--) {
if (binaryInput.charAt(i) == '1') {
myNumber += Math.pow(2, binaryInput.length() - i - 1);
}
}
System.out.println("And the value is: " + myNumber);
输出:
And the value is: 17473011848
Java(以及几乎所有其他编程语言)中的整数长度为4字节,这意味着它只能存储~43000000
数字,如果是负数,则为~-214700000
到+214700000
您输入的数字太大,无法将其解析为整数
我也不明白为什么要把二进制代码解析成整数。这应该可以做到:
String binaryInput = "10000010001011110010000000010001000";
long myNumber = 0;
for (int i = binaryInput.length()-1; i >= 0; i--) {
if (binaryInput.charAt(i) == '1') {
myNumber += Math.pow(2, binaryInput.length() - i - 1);
}
}
System.out.println("And the value is: " + myNumber);
输出:
And the value is: 17473011848
尝试:
您的二进制值大于整数。请尝试以下操作:
您的二进制值大于整数。最大值
以“2”为基数的BigInteger怎么样??单行代码
String str = "010000010001011110010000000010001000";
System.out.println(new BigInteger(str, 2));
以“2”为底的BigInteger怎么样??单行代码
String str = "010000010001011110010000000010001000";
System.out.println(new BigInteger(str, 2));
谢谢!:)非常有帮助。谢谢!:)非常有用。