本人有一个数组byte Qualifier[] = new byte[8];现在的要求是每一位bit都赋值为1,那么是不是我应该这样赋值
Qualifier[0] = -128;
Qualifier[1] = -128;
Qualifier[3] = -128;
Qualifier[4] = -128;
Qualifier[5] = -128;
Qualifier[6] = -128;
Qualifier[7] = -128;
Qualifier[8] = -128;如果不对,应该怎么赋值,谢谢…………本人在线等大家的回家,感谢了……

解决方案 »

  1.   

    byte Qualifier[]   =   new   byte[] {-128,-128,-128,-128,-128,-128,-128,-128};
      

  2.   

    第二点 byte[8], 只有8个位置,是从0-7, 所以
    Qualifier[8] = -128; // 这里的8是错误的,最多到7
      

  3.   

    这个我知道,只是刚刚写错了……我只是想为下是不是赋值为-128,没一个bit就是1了
      

  4.   

    每一位置为1的话,值是:-1,而不是-128。将0的每一位翻转就可以了。for(int i = 0; i < Qualifier.length; i++) {
        Qualifier[i] = ~0;
    }
      

  5.   

    运算规则:某一byte负数:11111111,将最低位减1,变为11111110,再将每一位翻转00000001,值为1,则11111111值为-1。
      

  6.   

    火龙果,厉害……果然是-1哦……我用16进制赋值0xff最后显示的是-1