# Deslocador

Biblioteca: | Aritmética
Introdução: | 2.3.0
Aparência: |

## Comportamento

Esse componente inclui duas entradas, os dados e dist, e uma saída, que será o resultado do deslocamento dos dados por dist posições. Ambos, os dados e a saída, possuem o mesmo número de bits. O componente oferece os seguintes tipos de deslocamento:

- Lógico para a Esquerda: Todos os bits de dados serão deslocados no sentido dos bits mais significativo dist posições, com os bits menos significativos nas dist posições sendo preenchidos com 0's. Por exemplo, 11001011 logicamente deslocado para a esquerda duas vezes será 00101100. (Os dois primeiros serão perdidos.)
- Lógico para a Direita: Todos os bits de dados serão deslocados no sentido dos bits menos significativos dist posições, com os bits mais significativos nas dist posições preenchidos com 0's. Por exemplo, 11001011 logicamente deslocado para a direita duas vezes será 00110010. (Os dois últimos serão perdidos.)
- Aritmético para a direita: Todos os bits de dados serão deslocados no sentido dos bits menos significativos dist posições, com a parte mais significativa das dist posições preenchidas com qualquer que seja o conteúdo igualmente na parte mais significativa dos dados. Por exemplo, 11001011 aritmeticamente deslocado para a direita duas vezes será 11110010.
- Com Rotação para a Esquerda: Todos os bits de dados serão deslocados no sentido dos bits mais significativo dist posições, com os bits mais significativos das dist posições copiados para a parte menos significativa. Por exemplo, 11001011 rotacionado para a esquerda duas vezes será 00101111.
- Com Rotação para a Direita: Todos os bits de dados serão deslocados no sentido dos bits menos significativo dist posições, com os bits menos significativos das dist posições copiados para a parte mais significativa. Por exemplo, 11001011 direito rotacionado duas vezes será 11110010.

Observar que dist contiver quaisquer entradas flutuantes ou erro, a saída será composta inteiramente por valores de erro, já que não há maneira de supor até que ponto deverá ser deslocada a entrada.

## Pinos

Na face oeste, extremo norte (entrada, com largura em bits de acordo com o atributo Bits de Dados)
  O valor a ser deslocado.
Na face oeste, extremo sul (entrada, com largura em bits de acordo com o atributo Bits de Dados)
  O número de bits para os quais a entrada de dados deverá ser deslocada. Essa entrada deverá ter tantos bits quanto o número mínimo para indicar qualquer distância desde 0 até Bits de Dados menos um, ou seja, deverá ter como limite máximo o logaritmo de base 2 dos Bits de Dados. Por exemplo, se os bits de dados forem 8, essa entrada exigirá 3 bits; mas, se fosse 9, exigiria 4 bits.
Na face leste (saída, com largura em bits de acordo com o atributo Bits de Dados)
  O resultado do deslocamento do valor de entrada pela quantidade em posições.

## Atributos

Quando o componente for selecionado ou estiver sendo acrescentado, Alt-0 até ALT-9 irão alterar o seu atributo Bits de Dados .

Bits de Dados
  A largura em bits dos dados de entrada e de saída.
Tipo de deslocamento
  Um dos cinco tipos possíveis para deslocamento como destacado acima (Lógico para a Esquerda, Lógico para a Direita, Aritmético para a Direita, Com Rotação para a Esquerda, Com Rotação para a Direita).

## Comportamento da ferramenta Testar

Nenhum.

## Comportamento da ferramenta Texto

Nenhum.

Voltar à Referência para bibliotecas