| Précédent | Niveau supérieur | Suivant |
| 9.5. Fonctions et opérateurs pour les chaînes binaires | Sommaire | 9.7. Correspondance de motif |
Cette section décrit les fonctions et opérateurs pour examiner et
manipuler les chaînes de bit, c'est-à-dire des valeurs de type
bit et bit varying. (Alors que seul le type
bit est mentionné dans ces tables, les valeurs de type
bit varying peuvent être utilisées de façon interchangeable.)
Les chaînes de bit supportent les opérateurs de comparaison habituels
indiqués dans Tableau 9.1, ainsi que
les opérateurs montrés dans Tableau 9.14.
Tableau 9.14. Opérateurs pour les chaînes de bit
Opérateur Description Exemple(s) |
|---|
Concaténation
|
AND bit à bit (les arguments doivent être de même longueur)
|
OR bit à bit (les arguments doivent être de même longueur)
|
OR exclusif bit à bit (les arguments doivent être de même longueur)
|
NOT bit à bit
|
Décalage à gauche bit à bit (la longueur de la chaîne est préservée)
|
Décalage à droite bit à bit (la longueur de la chaîne est préservée)
|
Certaines des fonctions disponibles pour les chaînes binaires sont aussi disponibles pour les chaînes de bit, comme indiquées dans Tableau 9.15.
Tableau 9.15. Fonctions pour les chaînes de bit
Fonction Description Exemple(s) |
|---|
Retourne le nombre de bits initialisés dans la chaîne de bits (aussi appelée « popcount »).
|
Renvoie le nombre de bits d'une chaîne de bit.
|
Renvoie le nombre de bits d'une chaîne de bit.
|
Renvoie le nombre d'octets d'une chaîne de bit.
|
Remplace la sous-chaîne de
|
Renvoie la position de départ de
|
Extrait la sous-chaîne de
|
Extrait le
|
Initialise le
|
De plus, il est possible de convertir les valeurs intégrales à partir ou
vers le type bit. Convertir un entier en bit(n)
copie les n bits les plus à droite. Convertir un entier
en une chaîne de bits, dont la largeur est plus importante que l'entier
lui-même, l'étendra sur la gauche. Quelques exemples :
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Il faut noter que la conversion vers simplement « bit »
signifie une conversion vers bit(1), et ne renverra
donc que le bit le moins significatif de l'entier.