gpt4 book ai didi

java - 为什么 Integer.parseInt(String s, 2) 和 Integer.toBinaryString(int i) 不兼容?

转载 作者:行者123 更新时间:2023-11-30 09:26:54 27 4
gpt4 key购买 nike

为什么这两种方法在处理二进制数时使用两种不同的方法? Integer.parseInt(String s, 2)方法中表示负二进制数的字符串应该以-字符开头,但是Integer.toBinaryString(int i) 返回前面加 1 的字符串。所以,这段代码

Integer.parseInt(Integer.toBinaryString(-1), 2);

抛出 java.lang.NumberFormatException。这种行为的原因是什么?

最佳答案

这是设计使然; Integer.toBinaryString

Returns a string representation of the integer argument as an unsigned integer in base 2.

(强调已添加)。

即,toBinaryString 提供了一种将整数格式化为常见的 two's complement representation 的方法。 ,这是大多数处理器实际在内部存储有符号整数的方式。

关于java - 为什么 Integer.parseInt(String s, 2) 和 Integer.toBinaryString(int i) 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14809412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com