标签: java
我有一个二进制字符串,如下所示:
String bin = "1101";
我希望我的int值为-3而不是13
-3
13
实现这一目标的最佳方法是什么?
答案 0 :(得分:6)
使用if (i >= k) i -= 2 * k;其中k是您的方案无法代表的最小正数。 (在这种情况下为8,因为0111为7而1000为负数。)
if (i >= k) i -= 2 * k;
k
0111
1000
13大于8,因此您要从16中减去13,并-3。
8
16