Really confused with java pixel manipulation
<p>THIS part i'm confused with what these 3 hexadecimals are doing such as 00ff0000, and why they're bitshifted 16 or 8 places</p>

<pre><code> // Getting pixel color by position x=100 and y=40 
    int clr=  image.getRGB(100,40); 
    int  red   = (clr &amp; 0x00ff0000) &gt;&gt; 16;
    int  green = (clr &amp; 0x0000ff00) &gt;&gt; 8;
    int  blue  =  clr &amp; 0x000000ff;
</code></pre>
