bitshift
Desloca os bits de um inteiro para a esquerda ou para a direita.
Categoria: Language Fundamentals > Operators and Elementary Operations
Sintaxe
C = bitshift(A, k)
Desloca A em k posições de bit: para a esquerda se k é positivo, para a direita se negativo.
Descrição
Deslocar uma posição para a esquerda dobra o valor e para a direita o divide por dois, descartando a fração. Assim, bitshift(1, 3) vale 8 e bitshift(16, -2) vale 4. Bits empurrados além da largura da classe são perdidos: bitshift(uint8(255), 1) vale 254.
Deslocamentos facilitam potências de dois e o empacotamento de vários campos pequenos em um inteiro.
Argumentos de entrada
A- Array de inteiros não negativos.
k- Número de posições. Positivo desloca para a esquerda, negativo para a direita.
Argumentos de saída
C- Valores deslocados, da mesma classe de
A.
Exemplo
bitshift(1, 3)
bitshift(16, -2)
bitshift(uint8(1), [1 2 3])
bitshift(uint8(255), 1)
Saída
ans = 8
ans = 4
ans = 1×3 uint8 row vector
2 4 8
ans = uint8
254