解决方案 »

  1.   

    private static String binaryToDecimal(String binary) {
       int result=0;
       int j=0;
       for (int i = binary.length(); i >0 ; i--) {
        //System.out.println("i="+i);
        //System.out.println("binary.substring(i, i-1)="+binary.substring(i-1, i));
        result+=Integer.parseInt(binary.substring(i-1, i))*Math.pow(2, j);
        j++;
       }
       //System.out.println("result="+result);
       return ""+result;
    }
    2进制转10进制
      

  2.   

    如果只有50bit,可以Long
    Long.toHexString(Long.parseLong(str, 2)) 但是如果可能有更多位数,连Long都不行的话,只能用BigInteger
    new BigInteger(str, 2).toString(16)
      

  3.   


    BigInteger b=new BigInteger("100000000000000000000000000000000000000000000",2);
    System.out.println(b.toString(10));
      

  4.   

    好吧看错了,是十进制
    Long.toString(Long.parseLong(str, 2))
    new BigInteger(str, 2).toString()
      

  5.   

    JDK已经提供这个接口,不用我们再去实现了BigInteger bi = new BigInteger("10000000000000000000000000000000000000000000000000000000000000", 2);
    System.out.println(bi.toString);
      

  6.   

    程序员编程学习资源导航站,精简导航。优秀程序员必上。http://www.brieftools.info/