简体   繁体   English

Long.parseLong错误

[英]Long.parseLong Error

I'm trying to Parse a potential Long value from a binary String, yet I still get an error when trying to do so. 我正在尝试从二进制字符串中解析潜在的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)
    ...

Can anyone explain this? 谁能解释一下? Thanks! 谢谢!

A constant holding the maximum value a long can have, 2^63 - 1. 保持long可以具有的最大值的常数2 ^ 63-1。

So, the last String which you can convert to Long with 2 radix is: "111111111111111111111111111111111111111111111111111111111111111" 因此,您可以转换为带有2个基数的Long的最后一个String是:“ 111111111111111111111111111111111111111111111111111111111111111111”

If you will try parse value bigger than it, you will get java.lang.NumberFormatException 如果尝试解析大于它的值,则将获得java.lang.NumberFormatException

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM