用于在java中将int数组元素的最低有效位替换为0的代码

时间:2012-12-31 06:33:36

标签: java

int argb = img.getRGB(x, y);

int rgb[] = new int[] {
    ((argb >> 16) & 0xff),    //red
    (argb >> 8) & 0xff ,     //green
    (argb) & 0xff     //blue
};

这个数组,我想从零???

中替换每个元素的最低有效位

3 个答案:

答案 0 :(得分:1)

这不是... & 0xFE而不是0xFF那么简单吗?

答案 1 :(得分:0)

以下代码可能对您有所帮助。试试这个。
 for(int i = 0; i< rgb.length; ++ i){         rgb [i]& = 0xfffffffe;     }

答案 2 :(得分:0)

尝试这种方法。

    int i = 33;
    System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));

    i = (i >> 1) << 1;   // this does the job.

    System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));

(我之前的回复实际上是不正确的)