Sommario:
Definizione - Cosa significa Bit Shifting?
Lo spostamento dei bit è un'operazione eseguita su tutti i bit di un valore binario in cui vengono spostati di un determinato numero di posizioni a sinistra oa destra. Lo spostamento dei bit viene utilizzato quando l'operando viene utilizzato come una serie di bit anziché nel suo insieme. In altre parole, l'operando viene trattato come singoli bit che rappresentano qualcosa e non come un valore.
Lo spostamento dei bit viene spesso utilizzato nella programmazione e presenta almeno una variazione in ciascun linguaggio di programmazione.
Lo spostamento dei bit può anche essere noto come un'operazione bit a bit.
Techopedia spiega Bit Shifting
Esistono due varianti di spostamento bit, spostamento a destra e spostamento a sinistra ed è ulteriormente definito dal numero di posizioni in cui dovrebbe avvenire lo spostamento. Ad esempio, spostando l'operando di un valore a sinistra o spostando i valori dei bit "n" a destra.
Esistono anche due tipi di spostamento dei bit, logici e aritmetici. Lo spostamento logico dei bit può essere utile per moltiplicare o dividere numeri interi senza segno per potenze di due. Ad esempio, se il valore "0001" o "1" viene spostato a sinistra, diventa "0010" o "2", spostato di nuovo a sinistra diventa "0100" o "4." Lo spostamento verso destra ha l'effetto opposto di dividere il valore per due per turno. Nella maggior parte dei casi, lo spostamento viene trattato come circolare, quindi quando si sposta verso sinistra, il valore più a sinistra diventa il valore più a destra e viceversa.
Lo spostamento sinistro logico e lo spostamento sinistro aritmetico hanno lo stesso effetto, quindi Java ha un solo operatore di spostamento sinistro (<<). Lo spostamento aritmetico destro è (>>) mentre la logica è (>>>). In C e C ++, esiste un solo operatore di spostamento a destra (>>); il tipo di spostamento da eseguire è determinato dal tipo di intero da spostare. Gli interi con segno vengono spostati usando l'aritmetica mentre lo spostamento di bit logico viene utilizzato su interi senza segno. Lo spostamento dei bit è anche molto utilizzato nella programmazione degli assiemi poiché i microcontrollori e i microprocessori di solito si basano su flag, che sono rappresentati da singoli bit. Fondamentalmente, è perché il sistema di numeri binari viene utilizzato nella programmazione in linguaggio assembly che lo spostamento dei bit diventa un operatore comunemente usato.