我有以下问题:
我想将一些二进制字符串转换为整数:
eargb = Integer.parseInt(al + re + gre + blu, 2);
但我得到以下异常。为什么呢?
java.lang.NumberFormatException: For input string: "11111111111000101000100111111010"
答案 0 :(得分:7)
你的号码(4,293,036,538)太大而不适合签名的int(范围为-2,147,483,648到2,147,483,647)。
尝试使用long来代替。这个范围更广。
答案 1 :(得分:3)
怎么样
long eargb = Long.parseLong(al + re + gre + blu, 2);
答案 2 :(得分:1)
您的二进制数超过了整数。这就是为什么你得到这个例外
答案 3 :(得分:0)
已经过了7个月,但目标答案尚未描述。这个问题在搜索引擎中也是领先的。上述主题是真实的。你应该使用如下:
(int)Long.parseLong("11111111111000101000100111111010",2)
eargb =(int)Long.parseLong( al + re + gre + blu, 2);