1. &
Opérateur au niveau du bit
Nous avons dit précédemment que toutes les données sont stockées en mémoire dans une représentation binaire. Il y a donc assez longtemps, les programmeurs ont trouvé de nombreuses façons intéressantes de travailler avec des nombres binaires. Par exemple, Java a des opérateurs logiques qui opèrent sur les bits de la représentation binaire d'un nombre : &
(AND), | (OR)
, ~
(NOT ou complément) et ^
(XOR - ou exclusif).
a & b
&
(ET)
Cet opérateur est très similaire à l' &
opérateur logique (AND), sauf qu'il est désigné par une seule esperluette, et non deux :
Et il est appliqué à des bits individuels. Chaque opérande est traité comme un tableau de bits, et le i
ième bit du résultat est calculé en utilisant le i
ième bit de chacun des deux opérandes.
Le premier bit du résultat sera calculé en fonction du premier bit du nombre a
et du premier bit du nombre b
, le deuxième bit — en fonction du deuxième bit du nombre a
et du deuxième bit du nombre b
, etc.
L' &
opérateur (AND) signifie "le bit résultant est égal à un uniquement si le bit correspondant du nombre a
est égal à un, AND
le bit correspondant du nombre b
est égal à un":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
Exemples:
Exemple | Résultat |
---|---|
|
|
|
|
|
|
|
|
2. |
Opérateur au niveau du bit
Cet opérateur est très similaire à l' |
opérateur logique (OU), sauf qu'il est indiqué par une seule ligne verticale, et non deux :
a | b
Et il est appliqué à des bits individuels. Chaque opérande est traité comme un tableau de bits, et le ième bit du résultat est calculé en utilisant le ième bit de chacun des deux opérandes.
L' |
opérateur au niveau du bit (OU) signifie "le bit résultant est égal à un si le bit correspondant du nombre a
est égal à un, OR
le bit correspondant du nombre b
est égal à un":
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Exemples:
Exemple | Résultat |
---|---|
|
|
|
|
|
|
|
|
Ce n'est que lorsque les bits correspondants (les bits à la même position) des deux nombres sont nuls que le bit correspondant du résultat est égal à zéro.
3. ^
Opérateur au niveau du bit (XOR ou "exclusif ou")
L' XOR
opérateur, également prononcé exclusif ou , est désigné par le ^
symbole . Pour le saisir au clavier, appuyez sur Maj + 6 (sur une disposition de clavier anglais).
a ^ b
Cet opérateur est quelque peu similaire à l' OR
opérateur, notamment en ce qu'il porte un nom similaire :XOR
L' ^
opérateur au niveau du bit (XOR) signifie "le bit résultant est égal à un si le bit correspondant du nombre a
est égal à un, OR
le bit correspondant du nombre b
est égal à un mais pas les deux en même temps":
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
Exemples:
Exemple | Résultat |
---|---|
|
|
|
|
|
|
|
|
Ce n'est que lorsque les bits correspondants (les bits à la même position) des deux nombres sont différents que le bit correspondant du résultat est égal à un . Si les bits sont identiques , le bit résultant est égal à zéro .
4. ~
Opérateur au niveau du bit (NOT, COMPLEMENT)
Je pense que vous pouvez déjà deviner ce qu'il fait. Cet opérateur est très similaire à l' !
opérateur logique (NOT), mais il est indiqué par un tilde et non par un point d'exclamation :
~a
Il s'agit d'un opérateur unaire , ce qui signifie qu'il s'applique à un seul nombre et non à deux. Il apparaît avant cet opérande unique.
L' ~
opérateur au niveau du bit signifie "le bit résultant est un si le bit correspondant du nombre a
est zéro, et il est zéro si le bit correspondant du nombre a
est un":
~1 = 0
~0 = 1
Exemples:
Exemple | Résultat |
---|---|
|
|
|
|
|
|
|
|
Cet opérateur change simplement le bit qui est 1
à 0
et les bits qui sont 0
à 1
.
GO TO FULL VERSION