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

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

String bin = "1101"; 

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

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

使用if (i >= k) i -= 2 * k; 其中k是您的方案无法表示的最小正数。 (在这种情况下为8,因为0111为7而1000为负数。)

13大于8 ,所以你从13减去16 ,给出-3