NumberFormatExceprion para la cadena binaria

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); 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=296597&siteId=1
Recomendado
Clasificación