java - Long.parseLong 错误

标签 java string parsing binary long-integer

我正在尝试从二进制字符串中解析潜在的 Long 值,但尝试这样做时仍然收到错误。

public String func1(String B, String C, String D)
{
    long b = Long.parseLong(B, 2);
    long c = Long.parseLong(C, 2);
    long d = Long.parseLong(D, 2);

    String value = Long.toString((b & c) | (b & d), 2);
    return value;
}

Exception in thread "main" java.lang.NumberFormatException: 
For input string: "1010101010101010101010101010101010101010/*....*/10101011"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Long.parseLong(Unknown Source)
    ...

谁能解释一下这个吗? 谢谢!

最佳答案

一个常量,保存 long 可以具有的最大值,2^63 - 1。

因此,最后一个可以转换为基数为 2 的 Long 的字符串是: “11111111111111111111111111111111111111111111111111111111111111”

如果你尝试解析大于它的值,你将得到 java.lang.NumberFormatException

关于java - Long.parseLong 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779701/

相关文章:

java - 使用 wicket 通过 AJAX 更改 URL

java - 将 UTC 转换为当前语言环境时间

java - Google 数据存储 - 查询键值

string - 在查询字符串值中使用的分隔符

php - SimpleXML 解析多个同名标签

java - org.hibernate.exception.JDBCConnectionException : could not fetch initial value for increment generator

Java String UTF-8 将 0xFF 解码为 0xC3BF

C 字符串错误 - 需要理解代码

ruby - 你如何将一段文字解析成句子? (最好用 Ruby)

PHP parse_ini_file 相对路径?