如何用JAVA或者C#实现bit-map

假如要使一个char数组或者byte数组中的每一位应该怎么做?

下面是我的方案。但是不成功。请指点

public static void main(String[] args) {
  int[] A=new int[]{2,34,6,15,7,8,9,93,100};
  byte[] c=new byte[13];
  //设置所有的位都为0
  for(int i=0;i<13;i++){
    c[i]=(byte) ((byte)c[i]&0x0);
  }
  //数组加入到c中
  c=setBit(c,A);
  //输出c
  outPut(c);
 }
 public static byte[] setBit(byte[] c,int[] num){
  for(int i=0;i<num.length;i++){
   int j=num[i]/8;//一个字节八位
   c[j]=(byte) ((int)c[j]|(0x1<<(j%8)));
  }
  return c;
 }
 public static void outPut(byte[] c){
  for(int i=0;i<c.length;i++){
   for(int k=0;k<8;k++){
    if((c[k]&1<<k)==(1<<k)){
     System.out.print(i*8+k+"  ");
    }
   }
  }
 }

慕码人2483693
浏览 544回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java