Um
bit shift é uma operação bit a bit na qual a ordem de uma série de bits é movida, seja para a esquerda ou para a direita, para executar eficientemente uma operação matemática. Os turnos de bits ajudam na otimização da programação de baixo nível, pois exigem menos cálculos para a CPU do que a matemática convencional. Operações de deslocamento de bit podem ser declaradas explicitamente pelo programador, ou automaticamente pelo compilador se ele puder identificar que tal otimização é possível.
Como exemplo, considere o inteiro 23, representado por oito bits:
00010111
Se deslocarmos todos os bits de um lugar, descartamos o bit mais à esquerda e inserimos um zero à direita, o resultado é a representação binária de 46 :
00101110
Essa ação é efetivamente a mesma que multiplicar o número por dois.
Termos de programação