Ce bloc réalise une fonction modulo entière circulaire à gauche.
La sortie est le mot d'entrée décalé à gauche de N bit,
défini sur une longueur de Nbit bits en utilisant la notation code complément à 2.
Les valeurs de la sortie sont donc comprises dans l'intervalle
.
Cette fonction est décrite par une amplitude non constante.
Suivant le nombre de décalage à gauche, cette non-linéarité peut prendre des pentes différentes.
La figure 1 montre un exemple pour une longueur donnée (Nbit=5), pour un décalage et pour deux
décalages.
Cette fonction est modélisée avec des opérateurs binaires du langage C.
Premièrement le bloc commence par convertir la valeur d'entrée en un nombre entier non signé.
Après, il réalise N fois l'opération de décalage à gauche.
Le tableau 1 montre les étapes successives de réalisation de cette opération
pour un mot de longueur 8 bits.
Etapes | Opérations | Decimale | Binaire |
---|---|---|---|
1 | Lit Lit une valeur entière non-signée | 150 | 1001 0110 |
2 | Décalage à gauche binaire | 300 | 1 0010 1100 |
3 | Tronque à 8 bits | 44 | 0010 1100 |
4 | Additionne les bits tronqués | 45 | 0010 1101 |