BigInteger b = new BigInteger("-5");
System.out.println(b.toString(2));
打印
-101
我想在给定的位数上得到二进制补码二进制代码,而不是带有-
符号的正二进制字符串。
例如
BigInteger b = new BigInteger("-5");
System.out.println(b.toString(2, 4));//-5 on 4 bits in binary code
应显示
1011
和
BigInteger b = new BigInteger("-5");
System.out.println(b.toString(2, 5));//-5 on 4 bits in binary code
应显示
11011
答案 0 :(得分:1)
据我所知BigInteger
,这不存在。您需要自己构建这样的方法。
String toString(BigInteger bigInt, int bits){
StringBuilder sb = new StringBuilder();
for(int bit = bits - 1; bit >= 0; bit--)
if(BigInteger.valueOf(1 << bit).and(bigInt).compareTo(BigInteger.ZERO) != 0)
sb.append("1");
else
sb.append("0");
return sb.toString();
}