Pragram z przesunięciem bitowym

0

Witam,

Czy ktoś może mi wytłumaczyć co robi i jak działa ten program?

public class RGB {

	public static void main(String[] args) {
		  int blueMask = 0xFF0000, greenMask = 0xFF00, redMask = 0xFF;
		    int r = 12, g = 13, b = 14;
		    int bgrValue = (b << 16) + (g << 8) + r;
		    System.out.println("blue:" + ((bgrValue & blueMask) >> 16));
		    System.out.println("red:" + ((bgrValue & redMask)));
		    System.out.println("green:" + ((bgrValue & greenMask) >> 8));

	}

}
 

Z góry dziękuję i pozdrawiam

1

Na oko to za pomocą operacji bitowych zamienia format RGB na BGR, co akurat jest w tym konkretnym przypadku niezłym overkillem, bo wystarczy:

int r = 12, g = 13, b = 14;

System.out.println("blue:" + b);
System.out.println("red:" + r);
System.out.println("green:" + g);

;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1