|
|
|
|
|
- Utilisation
- Opérateurs binaires
- ET, OU et OU exclusif binaires
- NON binaire
- Opérateurs de décalage
- Syntaxes
- Notes
- Opérateur d'accès direct aux bits
- Accès à un bit
- Accès à un entier sur 1, 2 ou 4 octets
- Accès à la valeur de plusieurs bits
Les opérations sur des valeurs binaires sont réalisées : - avec des fonctions du WLangage : ETBinaire, OUBinaire, NONBinaire, OUExclusifBinaire.
- avec des opérateurs spécifiques : opérateurs binaires, opérateurs de décalage vers la droite et vers la gauche, opérateur d'accès aux bits.
ET, OU et OU exclusif binaires Les syntaxes suivantes peuvent être utilisée : - ET binaire : <Valeur 1> & <Valeur 2>
- OU binaire : <Valeur 1> | <Valeur 2>
- OU exclusif binaire : <Valeur 1> || <Valeur 2>
Le type de résultat peut être différent selon le type des opérandes : | | | | Valeur 2 Valeur 1 | Entier sur 4 | Entier sur 8 | Autre | Entier sur 4 | Entier sur 4 | Entier sur 8 | Entier sur 4 | Entier sur 8 | Entier sur 8 | Entier sur 8 | Entier sur 8 | Autre | Entier sur 4 | Entier sur 8 | Entier sur 8 |
NON binaire La syntaxe est la suivante : ~ <Valeur> Le type de résultat peut être différent selon le type de l'opérande : | | Opérande | Résultat | Entier sur 4 | Entier sur 4 | Entier sur 8 | Entier sur 8 | Autre | Entier sur 8 |
Syntaxes - Décalage vers la gauche :
<Valeur 1> bitDécaleGauche <Valeur 2> bitDécaleGauche(<Valeur1>, <Valeur 2>) - Décalage vers la droite :
<Valeur 1> bitDécaleDroite <Valeur 2> bitDécaleDroite(<Valeur1>, <Valeur 2>)
Notes - Les bits de <Valeur 1> sont décalés de <Valeur 2> bits vers la droite ou vers la gauche.
Par exemple :
bitDécaleGauche(4,1) // Renvoie 8 En effet, 4 en décimal correspond à 0100 en binaire. Décalé de 1 bit vers la gauche, on obtient en binaire 1000 ce qui correspond à 8 en décimal.
bitDécaleDroite(4,2) // Renvoie 1 En effet, 4 en décimal correspond à 0100 en binaire. Décalé de 2 bits vers la droite, on obtient en binaire 0001 ce qui correspond à 1 en décimal. - Les bits qui dépassent la taille de <Valeur 1> sont ignorés. Par exemple :
bitDécaleGauche(4,30) // Renvoie 0 bitDécaleDroite(4,4) // Renvoie 0 - Si <Valeur 2> est supérieur à la taille de <Valeur 1> (32 pour un entier sur 4 et 64 pour un entier sur 8), le résultat est toujours 0. Par exemple :
bitDécaleGauche(4,35) // Renvoie 0 - Le type de résultat peut être différent selon le type de l'opérande :
| | Opérande Valeur 1 | Résultat | Entier sur 4 | Entier sur 4 | Entier sur 8 | Entier sur 8 | Autre | Entier sur 8 |
L'opérateur de décalage binaire à gauche réinjectera par la droite les bits qui dépassent la taille de l'opérande. L'opérateur de décalage binaire à droite réinjectera par la gauche les bits qui dépassent la taille de l'opérande. Par exemple :
e est un entier sur 4 res est un entier sur 4 e = 1 res = e bitDécaleGauche 32 // Renvoie 0 en WinDev et 1 en Java
Opérateur d'accès direct aux bits Accès à un bit Syntaxe : <Valeur 1> [ <n> ] Cette syntaxe permet de lire ou de modifier la valeur du bit <N> dans la valeur <Valeur 1>. Le comptage des bits commence à 1 de la gauche vers la droite (du poids le plus faible au poids le plus fort) : - 1 à 32 pour un entier sur 4 octets,
- 1 Ã 64 pour un entier sur 8 octets.
Si la valeur de <n> est incorrecte, l'opération renvoie 0. Exemples : // Positionne les cinquième et septième bits à 1 n est un entier n[5] = 1 n[7] = Vrai // Teste la valeur des bits 4, 5, 6 et 7 SI n[4] ALORS Trace(4) // pas affiché SI n[5] ALORS Trace(5) // affiche 5 SI n[6] ALORS Trace(6) // pas affiché SI n[7] ALORS Trace(7) // affiche 7 // Affecter une valeur en modifiant les bits n est un entier = 0 // On allume le bit numéro 1 : n vaut 1 en décimal n[1] = 1 // On allume également le bit numéro 8 : n vaut 129 en décimal (2 puissance 0 + 2 puissance 7) n[8] = 1 Accès à un entier sur 1, 2 ou 4 octets Syntaxes : - <Valeur 1> [ <n>, wlEntier_1 ]
- <Valeur 1> [ <n>, wlEntier_2 ]
- <Valeur 1> [ <n>, wlEntier_4 ]
Ces syntaxes permettent de lire ou de modifier la valeur de l'entier sur 1, 2 ou 4 octets dans la valeur <Valeur 1>. Valeurs possibles pour <n> selon le type de <Valeur 1> : | | | | Valeur 1 | wlEntier_1 | wlEntier_2 | wlEntier_4 | Entier sur 4 | 1 Ã 4 | 1 Ã 2 | 1 | Entier sur 8 | 1 Ã 8 | 1 Ã 4 | 1 Ã 2 |
Si la valeur de <n> est incorrecte, l'opération renvoie 0. Accès à la valeur de plusieurs bits Syntaxes : - <Valeur 1> [ A <n> ]
- <Valeur 1> [ <n> A ]
- <Valeur 1> [ <n> A <o> ]
- <Valeur 1> [ <n> SUR <Nombre> ]
Ces syntaxes permettent de lire ou de modifier la valeur correspondant aux bits indiqués.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|