使用BigInteger,我如何通过二进制数的符号将其作为int?

时间:2015-10-18 21:22:24

标签: java binary twos-complement

我试图将二进制字符串转换为带符号的十进制数字。我试图用10位二进制字符串找出一种方法。

String i = kb.next();
int p = new BigInteger(i, 2).intValue();

上面的代码会将二进制字符串转换为十进制数字,但是您需要输入符号和32位字符串。无论如何,我可以传递一个10位字符串,它返回正确的十进制数。

1 个答案:

答案 0 :(得分:0)

我已经检查了您提供的代码,但仍然有效。但是,如果您仍想传递32位字符串,则可以使用以下代码:

while(i.length()<32){
    i = "0"+i;
}

此代码在使用0之前填充给定字符串以生成32位整数。