将二进制补码中的带符号二进制字符串转换为int?

Bon*_*onk 1 java

我有一个二进制字符串如下:

String bin = "1101";
Run Code Online (Sandbox Code Playgroud)

我希望我的int值-3不是13

实现这一目标的最佳方法是什么?

Dav*_*rtz 6

使用if (i >= k) i -= 2 * k;Where k是您的方案无法表示的最小正数.(在这种情况下0111为8,因为是7并且1000是否定的.)

13大于8,所以你减去1613,给-3.