我现在有两个String
00001110
01001001我使用BigInteger处理,发现得到的结果不对,而且位数不对。
希望得到一个二进制,并toString转换成字符串
0100111
前面的0都不能丢失,该怎么做???

解决方案 »

  1.   

    为什么一定要BigInteger,是不是超过64-bit了?
      

  2.   

    那么用long就可以了(int也可以)public class Test {  public static void main(String[] args) throws Exception {
        String a ="00001110";
        String b = "01001001";
        long x = Long.parseLong(a, 2);
        long y = Long.parseLong(b, 2);
        long z = x ^ y; //XOR
        String tmp = Long.toBinaryString(z);
        DecimalFormat df = new DecimalFormat("00000000"); //你需要多少位
        String c = df.format(df.parse(tmp));
        System.out.println(tmp);
        System.out.println(c);
      }}