将二进制补码中的带符号二进制字符串转换为int?
我有一个二进制字符串如下:
String bin = "1101";
我希望我的int值为-3
而不是13
实现这一目标的最佳方法是什么?
使用if (i >= k) i -= 2 * k;
其中k
是您的方案无法表示的最小正数。 (在这种情况下为8,因为0111
为7而1000
为负数。)
13
大于8
,所以你从13
减去16
,给出-3
。
我有一个二进制字符串如下:
String bin = "1101";
我希望我的int值为-3
而不是13
实现这一目标的最佳方法是什么?
使用if (i >= k) i -= 2 * k;
其中k
是您的方案无法表示的最小正数。 (在这种情况下为8,因为0111
为7而1000
为负数。)
13
大于8
,所以你从13
减去16
,给出-3
。