Java 将BigInteger转换为二进制字符串
我们能把Biginteger转换成二进制字符串吗Java 将BigInteger转换为二进制字符串,java,biginteger,Java,Biginteger,我们能把Biginteger转换成二进制字符串吗 String s1 = "0011111111101111111111111100101101111100110000001011111000010100"; String s2 = "0011111111100000110011001100110011001100110011001100110011001100"; BigInteger bi1, bi2, bi3; bi1 = new BigInteger(s1,2);
String s1 = "0011111111101111111111111100101101111100110000001011111000010100";
String s2 = "0011111111100000110011001100110011001100110011001100110011001100";
BigInteger bi1, bi2, bi3;
bi1 = new BigInteger(s1,2);
bi2 = new BigInteger(s2,2);
bi3 = bi1.xor(bi2);
如何将bi3转换为二进制字符串您可以使用:
String s1 = "0011111111101111111111111100101101111100110000001011111000010100";
String s2 = "0011111111100000110011001100110011001100110011001100110011001100";
BigInteger bi1, bi2, bi3;
bi1 = new BigInteger(s1,2);
bi2 = new BigInteger(s2,2);
bi3 = bi1.xor(bi2);
String s3 = bi3.toString(2);
导入java.math.biginger; 导入java.util.Scanner
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter a Number: ");
String n = in.next();
BigInteger nn = new BigInteger(n);
if(nn.compareTo(BigInteger.ZERO)<0){
System.out.println("Number cannot be less than 0");
}else{
System.out.println("Convert to binary is:");
print2Binaryform(nn);
System.out.println("");
}
}
private static void print2Binaryform(BigInteger number) {
BigInteger reminder2;
if(number.compareTo(BigInteger.ONE)<=0){
System.out.print(number);
return;
}
reminder2 = number.mod(new BigInteger(""+2));
print2Binaryform(new BigInteger(""+number.divide(new BigInteger("2"))));
System.out.print(reminder2);
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入一个数字:”);
字符串n=in.next();
BigInteger nn=新的BigInteger(n);
if(nn.compareTo(biginger.ZERO)Hi Riven.你认为你的答案在哪方面比DasLinkedLight发布的答案好?(他的答案是一行:nn.toString(2);
)哦,老实说,我的代码太大了,但我认为它更好地代表了逻辑,可以通过自定义它以更多的方式实现。例如,您可以将conver decimal更改为base nHi再次Riven。这就是BigInteger.toString(int radix)
方法的用途,正是转换为base-n(n是基数)。