Índice:
Definição - O que significa Bit Shifting?
A troca de bits é uma operação realizada em todos os bits de um valor binário no qual eles são movidos por um número determinado de locais à esquerda ou à direita. A troca de bits é usada quando o operando está sendo usado como uma série de bits, e não como um todo. Em outras palavras, o operando é tratado como bits individuais que representam algo e não como um valor.
A troca de bits é frequentemente usada na programação e tem pelo menos uma variação em cada linguagem de programação.
A troca de bits também pode ser conhecida como operação bit a bit.
Techopedia explica mudança de bits
Existem duas variações para deslocamento de bits, deslocamento para a direita e deslocamento para a esquerda, e é ainda definido pelo número de locais em que o deslocamento deve ocorrer. Por exemplo, deslocando o operando um valor para a esquerda ou deslocando os bits "n" para a direita.
Existem também dois tipos de mudança de bits: lógica e aritmética. A mudança lógica de bits pode ser útil para multiplicar ou dividir números inteiros não assinados por potências de dois. Por exemplo, se o valor "0001" ou "1" for deslocado para a esquerda, ele se tornará "0010" ou "2", deslocado para a esquerda novamente, ele se tornará "0100" ou "4". Mudar para a direita tem um efeito oposto de dividir o valor por dois por turno. Na maioria dos casos, o deslocamento é tratado como circular; portanto, ao mudar para a esquerda, o valor mais à esquerda se torna o valor mais à direita e vice-versa.
O deslocamento lógico para a esquerda e o deslocamento aritmético para a esquerda têm o mesmo efeito, portanto o Java possui apenas um único operador de deslocamento à esquerda (<<). O deslocamento aritmético para a direita é (>>) enquanto o lógico é (>>>). Em C e C ++, existe apenas um operador shift right right (>>); o tipo de mudança a ser realizado é determinado pelo tipo de número inteiro que está sendo alterado. Os números inteiros assinados são alterados usando aritmética, enquanto a mudança lógica de bits é usada em números inteiros não assinados. A troca de bits também é muito usada na programação de montagens, porque microcontroladores e microprocessadores geralmente dependem de sinalizadores, representados por bits individuais. Basicamente, é porque o sistema de números binários é usado na programação em linguagem assembly que a troca de bits se torna um operador comumente usado.