Java Integer parseInt error - PullRequest
       31

Java Integer parseInt error

2 голосов
/ 01 августа 2011

У меня следующая проблема:

Я хочу преобразовать некоторые двоичные строки в целое число:

eargb = Integer.parseInt(al + re + gre + blu, 2);

, но я получаю следующее исключение.Почему?

java.lang.NumberFormatException: For input string: "11111111111000101000100111111010"

Ответы [ 4 ]

7 голосов
/ 01 августа 2011

Ваше число (4 293 036 538) слишком велико, чтобы поместиться в знаковое целое (которое имеет диапазон от -2 147 483 648 до 2 147 483 647).

Попробуйте вместо него использовать long.Это имеет больший диапазон.

3 голосов
/ 01 августа 2011

Как насчет

long eargb = Long.parseLong(al + re + gre + blu, 2);
1 голос
/ 01 августа 2011

Ваше двоичное число превышает размер целого числаВот почему вы получаете это исключение

0 голосов
/ 25 марта 2012

Прошло 7 месяцев, но целевой ответ не был описан.Также этот вопрос является ведущим в поисковых системах.Вышеуказанные предметы верны.Вы должны использовать следующим образом:

(int)Long.parseLong("11111111111000101000100111111010",2)

eargb =(int)Long.parseLong( al + re + gre + blu, 2);
...