Integer.parseInt(Integer.toBinaryString(-100), 2)
报异常, java.lang.NumberFormatException: For input string: "11111111111111111111111110011100"。哪位大大可以解释下啊
Integer.parseInt(Integer.toBinaryString(-100), 2)
报异常, java.lang.NumberFormatException: For input string: "11111111111111111111111110011100"。哪位大大可以解释下啊
因为Integer.toBinaryString()是将int转换为无符号表示的二进制数的String,而Integer.parseInt()是将表示有符号数的String转换为int。-100的无符号二进制表示以有符号方式去解释就超出了int的值域,所以这里会抛NumberFormatException。所有负的int替换掉这个例子的-100都会遇到同样的问题。