Expressions binaires
 Il est possible d'accomplir des opérations sur les bits des nombres. C'est surtout utile pour les objets dont la valeur est une puissance de 2, car on peut combiner plusieur codes en un seul nombre.
 
Les opérateurs binaires sont ceux que la plupart des langages utilisent:

&
|
^
~
<<
>>
et binaire
ou binaire
ou exclusif
négation binaire
rotation à gauche. Equivaud à multiplier par 2
rotation à droite. Equivaud à diviser par 2

Les nombres 1, 2, 4, 8, 16, 32... peuvent être compactés en un seul nombre.

Exemple:
Les differents modes d'accès à un fichier:
READ 1
WRITE 2
APPEND 4
TEXT 8
BINARY 16
On peut décrire le mode d'accès à un fichier par un seul nombre entier qui est l'addition de ces codes.

Pour compacter les codes précédents, on utilise l'opérateur | :
int mode = WRITE | TEXT | APPEND
ceci retourne la valeur 2 + 4 + 8, donc 14.
Pour obtenir un des codes ci-dessus, on utilise le & :

Exemples d'expressions binaires:
x & y retient les bits 1 communs,
x | y additionne les bits 1.
int x = 3
int y = 5

print x & y
print x | y
Affiche: > 3
> 5

Exemple d'expression binaire pour extraire des bits positifs d'un code.

acces("nomfichier", READ)
int
mode = getMode("nomfichier")

if (mode & WRITE) = WRITE
   print "mode écriture"
else
   print "mode lecture seule "
/if

Affiche: > mode lecture seule


Il est possible d'effectuer des opérations binaires sur des listes.
Cela sera détaillé dans le chapitre sur les tableaux.

 Exercices
1) Les modes d'accès à un fichier sont: READ, WRITE, APPEND et la fonction d'accès open("nom", mode).
Ecrire l'appel de la fonction d'accès pour:
- Ecriture à la fin de fichier.
- Ecrite ou lecture au début de fichier.

Réponse