Это просто потому, что значение, представленное строкой с двоичным содержимым, слишком велико для типа данных int . Вам нужно проанализировать тип данных long . Двоичная строка представляет значение 3519807998 . Максимальное целочисленное значение (Integer.MAX_VALUE): 2147483647 . Попробуйте это:
String binaryString = "11010001110011000000000111111110";
long n = Long.parseLong(binaryString, 2);
Или вот так:
String binaryString = "11010001110011000000000111111110";
long lng = new BigInteger(binaryString, 2).longValue();
System.out.println(lng);