在数组中存储最低有效位?

时间:2011-11-15 21:09:39

标签: java arrays bufferedimage

public static void decodeThis(BufferedImage im){
    int w = im.getWidth();
    int h=im.getHeight();
    int[] arr=im.getRGB(0, 0, w, h, null, 0, w);
    int[] eightBit=new int[8];
    for (int i=0;i<arr.length;i++){
        System.out.printf("%x \n",arr[i]);
        }   
    }           

所以这是我的代码到目前为止。我很困惑如何从arr中读取每个像素中的最低有效位并将其存储在eightBit中。我刚刚学习了数组和BufferedImage,所以这对我来说都是新手 - 任何帮助都会受到赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

我猜你熟悉lsb(最低位)的整个概念,因为你没有问过这个......?

你需要做的是使用按位和。这就是&amp;操作员(注意:不是&amp;&amp;)。如果你做'int i&amp; 1'如果i的lsb为1,你将得到一个,如果它为零则为零。尝试玩游戏并阅读avout按位运算符,您将获得它的支持!如果你想知道什么,请评论......