【问题标题】:Java Integer parseInt errorJava整数解析错误
【发布时间】:2011-10-17 07:59:08
【问题描述】:

我有以下问题:

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

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

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

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

【问题讨论】:

    标签: java binary integer parseint


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您的二进制数超出了整数大小。这就是你得到这个异常的原因

      【讨论】:

        【解决方案3】:

        怎么样

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-01-11
            • 2020-03-24
            • 2011-09-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-02-15
            相关资源
            最近更新 更多