# Décalage

Librairie: | Arithmétique
Introduction: | 2.3.0
Apparence: |

## Comportement

Ce composant comprend deux entrées, data et dist, et il a une sortie, qui est le résultat du décalage de data par dist places. Les deux data et la sortie ont le même nombre de bits en eux. Le composant prend en charge les types de décalage suivants :

- Gauche logique : Tous les bits de data sont décalés vers le haut dist places, les dist places inférieures étant remplies de 0. Par exemple, 11001011 logiquement décalé deux fois vers la gauche donne 00101100. (Les deux premières sont perdues).
- Logique droite : Tous les bits de data sont décalés vers le bas de dist places, les dist places supérieures étant remplies de 0. Par exemple, 11001011 logiquement décalé deux fois vers la droite donne 00110010. (Les deux inférieurs sont perdus).
- Arithmétique droite : Tous les bits de data sont décalés vers le bas de dist places, les dist places supérieures étant remplies de répétitions de n'importe quel bit supérieur de data. Par exemple, 11001011 Arithmétiquement décalé vers la droite deux fois est 11110010.
- Rotation à gauche : Tous les bits de data sont décalés vers le haut de dist places, avec les dist places supérieures enveloppées dans les inférieures. Par exemple, 11001011 tourné deux fois vers la gauche est 00101111.
- Rotation à droite : Tous les bits de data sont décalés vers le bas dist places, avec les dist places inférieures enroulées dans le haut. Par exemple, 11001011 tourné deux fois vers la droite est 11110010.

Notez que si dist contient des entrées flottantes ou d'erreur, alors la sortie est composée entièrement de valeurs d'erreur, puisqu'il n'y a aucun moyen de deviner de combien décaler l'entrée.

## Pins

Bord ouest, extrémité nord (entrée, la largeur des bits correspond à l'attribut Bits de données)
  La valeur à décaler.
Bord ouest, extrémité sud (entrée, la largeur du bit est calculée comme ci-dessous)
  Le nombre de bits par lequel décaler l'entrée data. Cette entrée doit avoir autant de bits que le nombre minimum pour indiquer n'importe quelle distance de décalage de 0 jusqu'à un moins que les bits de données ; c'est-à-dire qu'elle doit être le plafond du logarithme de base-2 des bits de données. Par exemple, si les bits de données étaient 8, cette entrée nécessiterait 3 bits, mais si elle était 9, elle nécessiterait 4 bits.
Bord est (sortie, la largeur des bits correspond à l'attribut Bits de données)
  Le résultat du décalage de la valeur d'entrée par la distance d'entrée.

## Attributs

Lorsque le composant est sélectionné ou en cours d'ajout, les touches Alt-0 à Alt-9 modifient son attribut Largeur données.

Largeur données
  La largeur de bit de l'entrée et de la sortie du composant.
Shift Type
  L'un des cinq types de déplacement possibles décrits ci-dessus (logique à gauche, logique à droite, arithmétique à droite, rotation à gauche, rotation à droite).

## Comportement de l'outil pousser

Aucun.

## Comportement de l'outil text

Aucun.

Retour à Référence de la bibliothèque