bit32
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Cette bibliothèque fournit des fonctions pour exécuter des opérations de manière binaire.
Limites de numéro
Cette bibliothèque traite les nombres comme des nombres 32 bits signés ; les nombres seront convertis en utilisant (voir image ci-dessous). Les nombres avec des nombres décimaux sont arrondis au nombre le plus proche.

Résumé
Fonctions
Renvoie un nombre après que ses bits aient été déplacés arithmétiquement à droite par un déplacement donné.
Renvoie le bitwise ET de tous les numéros fournis.
Renvoie la négation de bitwise d'un nombre donné.
Renvoie le bitwise OU de tous les numéros fournis.
Renvoie un booléen décrivant si le bitwise et ses opérateurs sont différents de zéro.
Renvoie le XOR de tous les numéros fournis.
Renvoie le nombre donné dans l'ordre des octets échangés.
Renvoie le nombre de zéros consécutifs dans la représentation de 32 bits du nombre fourni à partir du bit le plus à gauche (le plus important).
Renvoie le nombre de zéros consécutifs dans la représentation de 32 bits du nombre fourni à partir du bit le plus à droite (le moins significatif).
Extrayez une gamme de bits à partir d'un nombre et renvoyez-les en tant que numéro non signé.
Renvoie une copie d'un nombre avec une gamme de bits remplacée par une valeur donnée.
Renvoie un nombre après que ses bits aient été tournés à gauche par un nombre donné de fois.
Renvoie un nombre dont les bits ont été déplacés logiquement à gauche par un déplacement donné.
Renvoie un nombre après que ses bits aient été tournés à droite par un nombre donné de fois.
Renvoie un nombre dont les bits ont été déplacés logiquement à droite par un déplacement donné.
Fonctions
arshift
Renvoie le nombre x décalé de disp bits à droite. Le nombre disp peut être n'importe quel entierreprésentable. Les décalages négatifs se déplacent à gauche.
Cet opérateur de décalage est ce que l'on appelle le décalage arithmétique. Les bits vides à gauche sont remplis par des copies du plus haut bit de x ; les bits vides à droite sont remplis par des zéros. En particulier, les décalages avec des valeurs absolues supérieures à 31 entraînent un zéro ou 0XXXXXXXX (tous les bits d'origine sont décalés).
Paramètres
Retours
band
Renvoie le bitwise ET de tous les numéros fournis.
Chaque bouchée est testée contre la table de vérité suivante :
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
Une | B | Sortie |
---|

Paramètres
Retours
bor
Renvoie le bitwise OU de tous les numéros fournis.
Chaque bouchée est testée contre la table de vérité suivante :
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
Une | B | Sortie |
---|

Paramètres
Retours
bxor
Renvoie le XOR de tous les numéros fournis.
Chaque bouchée est testée contre la table de vérité suivante :
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
Une | B | Sortie |
---|

Paramètres
Retours
extract
Renvoie le nombre signé formé par les bits field à field + width - 1 à partir de n . Les bits sont numérotés du plus bas (le moins significatif) au plus important (le plus significatif). Tous les bits accédés doivent être dans la tranche [0, 31]. La valeur par défaut pour 1> wide1> est 1.
Retours
lrotate
Retourne le nombre x rotaté disp bits à gauche. Le nombre disp peut être n'importe quel entierreprésentable. Pour tout déplacement valide, l'identifiant suivant contient :
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
En particular, les déplacements négatifs tournent à droite.
Retours
lshift
Renvoie le nombre x décalé de disp bits à gauche. Le nombre disp peut être n'importe quel entierreprésentable. Les décalages négatifs se déplacent à droite. Dans n'importe quelle direction, les zéros se remplissent avec des zéros. En particulier, les décalages avec des valeurs absolues supérieures à 31 se règlent avec zéro (tous les bits sont décal

Pour les déplacements positifs, l'égalité suivante s'applique :
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Retours
rrotate
Retourne le nombre x pivoté disp bits à droite. Le nombre disp peut être n'importe quel entier.
Pour tout déplacement valide, l'identité suivante contient :
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
En particular, les déplacements négatifs tournent à gauche.
Retours
rshift
Retourne le nombre x décalé de disp bits à droite. Le nombre disp peut être n'importe quel entierreprésentable. Les décalages négatifs déplacent à gauche. Dans n'importe quelle direction, les zéros sont remplis par des zéros. En particulier, les décalages avec des valeurs absolues supérieures à 31 entraînent un zéro (tous les bits sont décalés).

Pour les déplacements positifs, l'égalité suivante s'applique :
assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
Cet opérateur de décalage est appelé décalage logique.