0 / 0
Retourner à la version anglaise de la documentation
Opérations en nombre entier bit par bit
Dernière mise à jour : 07 oct. 2024
Opérations en nombre entier bit par bit (SPSS Modeler)

Ces fonctions permettent aux entiers d'être manipulés en tant que profils binaires représentant des valeurs de complément à 2, où la position binaire N a la pondération 2**N.

Les bits sont numérotés en commençant par 0. Ces opérations se comportent comme si le bit de signe d'un entier était décalé vers la gauche à l'infini. Ainsi, partout au-delà du bit le plus significatif, un entier positif a le bit 0 et un entier négatif a le bit 1.

Tableau 1. Opérations en nombre entier bit par bit CLEM
Fonction Résultat Descriptif
~~ INT1 Entier Produit le complément sur les bits de l'entier INT1. En d'autres cas, il y a 1 dans le résultat pour chaque position de bit pour laquelle INT1 a 0. Il est toujours vrai que ~~ INT = –(INT + 1).
INT1 || INT2 Entier Le résultat de cette opération est l'opérateur sur les bits "inclusif ou" des entiers INT1 et INT2. Autrement dit, un 1 est inséré dans le résultat pour chaque position binaire où existe un 1 dans INT1, dans INT2 ou dans les deux entiers.
INT1 ||/& INT2 Entier Le résultat de cette opération est l'opérateur sur les bits "exclusif ou" des entiers INT1 et INT2. Autrement dit, un 1 est inséré dans le résultat pour chaque position binaire où existe un 1 soit dans INT1, soit dans INT2, mais pas dans les deux.
INT1 && INT2 Entier Produit l'opération booléenne ET sur les bits des entiers INT1 et INT2. Cela signifie qu'un 1 est présent dans le résultat pour chaque position binaire où il existe un 1 dans les deux entiers INT1 et INT2.
INT1 &&~~ INT2 Entier Produit le booléen ET de l'entier INT1 et le complément sur les bits de l'entier INT2. Cela signifie qu'un 1 est présent dans le résultat pour chaque position binaire où il existe un 1 dans INT1 et un 0 dans INT2. Cette opération est identique à INT1 && (~~INT2). Elle s'avère utile pour l'élimination des bits d'INT1 définis dans INT2.
INT << N Entier Produit le motif binaire de l'entier INT1, décalé vers la gauche de N positions. Utilisez une valeur N négative pour produire un décalage vers la droite.
INT >> N Entier Produit le motif binaire de l'entier INT1, décalé vers la droite de N positions. Utilisez une valeur N négative pour produire un décalage vers la gauche.
INT1 &&=_0 INT2 Booléen Equivalent à l'expression booléenne INT1 && INT2 /== 0 mais plus efficace.
INT1 &&/=_0 INT2 Booléen Equivalent à l'expression booléenne INT1 && INT2 == 0 mais plus efficace.
integer_bitcount(INT) Entier Compte le nombre des bits 1 ou 0 dans la représentation de complément à 2 de l'entier INT. Si INT n'est pas négatif, N est le nombre de bits 1. Si INT est négatif, N correspond au nombre de bits 0. En raison de l'extension de signe, il existe un nombre infini de bits 0 dans un entier positif ou de bits 1 dans un entier négatif. L'expression integer_bitcount(INT) = integer_bitcount(-(INT+1)) est toujours vraie.
integer_leastbit(INT) Entier Renvoie la position binaire N du bit le moins significatif défini dans l'entier INT. N est la puissance de 2 la plus élevée par laquelle il est possible de diviser INT sans reste.
integer_length(INT) Entier Renvoie la longueur en bits de l'entier INT, sous forme d'entier de complément à 2. C'est-à-dire que N est le plus petit entier tel que INT < (1 << N) if INT >= 0 INT >= (–1 << N) if INT < 0. Si INT n'est pas négatif, la représentation d'INT sous forme d'entier non signé nécessite un champ d'au moins N bits. Sinon, un minimum de N+1 bits est nécessaire pour représenter INT en tant qu'entier signé, quel que soit son signe.
testbit(INT, N) Booléen Teste le bit de position N dans l'entier INT et renvoie l'état du bit N sous forme de valeur booléenne, vraie (True) s'il s'agit de 1 et fausse (False) pour 0.
Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus