2

我有以下问题:

我想将一些二进制字符串转换为整数:

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

但我得到以下异常。为什么?

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

4 回答 4

7

您的数字 (4,293,036,538) 太大而无法放入带符号的 int(范围为 -2,147,483,648 到 2,147,483,647)中。

尝试使用 long 代替。这个范围更大。

于 2011-08-01T10:06:33.197 回答
3

怎么样

long eargb = Long.parseLong(al + re + gre + blu, 2);
于 2011-08-01T10:08:09.803 回答
1

您的二进制数超出了整数大小。这就是为什么你得到这个例外

于 2011-08-01T10:07:03.930 回答
0

已经 7 个月了,但尚未描述目标答案。这个问题也在搜索引擎中处于领先地位。上述题目属实。你应该使用如下:

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

eargb =(int)Long.parseLong( al + re + gre + blu, 2);
于 2012-03-24T21:50:17.460 回答