怎么样对不足8位的在后面补二进制的0?
比如一个byte[] bt包含100个字节长度,但不是8的倍数,请问,怎么构造另外一个byte[] cc使它的长度是8的倍数呢,而且后面补够0或者“”,谢谢:)

解决方案 »

  1.   

    一个字节就是8位。你的意思是
    bt.length = 100;你想把100变成8的倍数?
      

  2.   

    不是这个意思,bt.length=100,不是100的倍数,离100最近的是8的倍数的是104,然后要加4个二进制0,怎么做
      

  3.   

    byte[] method(byte[] bt){ 
       if(bt.length%8==0) return bt;
       byte[] ret=new byte[8*(bt.length/8+1)];
       System.arraycopy(bt,0,ret,0,bt.length);
       return ret;
    }
      

  4.   

    bt=bt.length%8==0?bt:bt<<(8-bt.length%8)
      

  5.   

    楼上的再干嘛呢?bt是个数组啊,怎么直接就用<<来操作了?