Mic*_*Tin 10 java long-integer
为什么这段代码会抛出NumberFormatException:
String binStr = "1000000000000000000000000000000000000000000000000000000000000000";
System.out.println(binStr.length());// = 64
System.out.println(Long.parseLong(binStr, 2));
Run Code Online (Sandbox Code Playgroud)
1000000000000000000000000000000000000000000000000000000000000000大于Long.MAX_VALUE.
考虑BigInteger(String val, int radix)改用.
编辑:
好的,这对我来说是新的.它似乎Integer.parseInt(binaryIntegerString, 2)并将Long.parseLong(binaryLongString, 2)二进制解析为符号量,而不是2的补码.