Gli strumenti di traslazione ( << >>) spostano i bit di una variabile intera di un determinato numero di posizioni.
Molte volte vengono usati se si vuol programmare per interagire con l`hardware..
/* USO IN C */
int x =180 , y=3 , C;
printf("%d\n",x);
C = x << y ; /* sposta 3 bit a sinistra */
printf("%d\n",C);
C = x >> y ; /* Sposta 3 bit a destra */
printf ( "%d \n" , C );
vedrete inoltre che i risultati cambieranno .
/* Pratica */
Quando usiamo gli strumenti o operatori di traslazione come abbiamo detto fara` variare il valore della variabile.
Nella pratica se abbiamo un valore binario :
00110010 >> 3 con cio indichiamo di far spostare tre bit a destra.
Quando usiamo traslazioni verso destra , dobbiamo aggiungere ,in base al numero scelto , bit di valore 0 partendo dall`estrema sinistra, e eliminando
partendo dall`estrema destra tanti bit quanti ne abbiamo aggiunti. Quindi ..
00110010 >> 3 diventa
00000110 . Abbiamo aggiunto tre bit di valore 0 all`estrema sinistra e tolto 3 bit all`estrema destra.
Se invece vogliamo spostare verso sinistra , sara` il contrario.
00110010 << 3 diventa
10010000 Abbiamo aggiunto tre bit di valore 0 all`estrema destra e tolto 3 bit all`estrema sinistra.