有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将BigInteger转换为二进制字符串

我们能把Biginteger转换成二进制字符串吗

   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转换为二进制字符串


共 (1) 个答案

  1. # 1 楼答案

    导入java。数学大整数; 导入java。util。扫描仪

    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);
    }