Natura ha scritto:
A che cosa serve in C spostare i bit a destra e sinistra ? Tutti spiegano come si fa ma nessuno spiega perchè lo si fa.
Qualcuno ha tempo per spiegarmelo bene per favore ?
1. Spostare i bit a sinistra o a destra serve principalmente per moltiplicare o dividere per due. Quindi se hai una operazione del tipo:
int a = 10;
a = a << 4;
significa moltiplicare a per 2 elevato a 4 e cioè 10 * 16 = 160. In binario è più evidente il passaggio:
int a = 10;
in binario a = 0000000000001010 //rappresentazione a 16bit
Spostalo di 4 bit a sinistra significa
a = 0000000010100000 //come vedi ho spostato tutto il gruppo di 4 posizioni a sinistra.
se convertiamo il risultato in decimale avremmo a = 160.
Ti tornano adesso i conti?