Dmitry Kuznetsov:
Estoy intentando conseguir int de cadena "11010001110011000000000111111110" con el código:
int n = Integer.parseInt("11010001110011000000000111111110", 2);
pero me sale un error:
Exception in thread "main" java.lang.NumberFormatException: For input string: "11010001110011000000000111111110"
DevilsHnd:
Es simplemente porque el valor representado por la cadena con contenido binario es demasiado grande para un int tipo de datos. Es necesario analizar a largo tipo de datos. La cadena binaria representa un valor de 3519807998 . Valor máximo entero (Integer.MAX_VALUE) es: 2147483647 . Prueba esto:
String binaryString = "11010001110011000000000111111110";
long n = Long.parseLong(binaryString, 2);
O esta manera:
String binaryString = "11010001110011000000000111111110";
long lng = new BigInteger(binaryString, 2).longValue();
System.out.println(lng);