Se tu avessi nozioni di assembler, sapresti che quell'operatore corrisponde ad una operazione di shift (a sinistra in quel caso) e che equivale ad una operazione di moltiplicazione per 2.

Lo shift e' usato nella gestione delle maschere di bit (usatissime nel software di rete, ad esempio) ...

Ecco un esempio di traformazione in binario ..

codice:
	int v = 0x12345678;
	int bit;

	for(bit=31; bit>=0; bit--)
		printf("%d ", v & (1<<bit) ? 1 : 0);

	printf("\n");