checker |= (1 << val);
Que fait le | =?Syntaxe de manipulation de bit Question Java
Le 1 < < va décaler les bits vers la gauche, ce qui augmente la valeur.
checker |= (1 << val);
Que fait le | =?Syntaxe de manipulation de bit Question Java
Le 1 < < va décaler les bits vers la gauche, ce qui augmente la valeur.
Identique à checker = checker | (1 << val)
, tout comme checker += val
est la même que checker = checker + val
.
|
signifie OU logique, c'est-à-dire si l'une ou l'autre valeur de la source a un bit défini, elle sera définie dans la cible.
Ce code est équivalent à
checker = vérificateur | (1 < < val)
Ici, |
est l'opérateur OR, qui prend en deux nombres et retourne un nouveau numéro avec 1 bits mis nulle part que soit le numéro d'entrée comporte un ensemble d'un bit. Le |=
que vous voyez est le "OU bit à bit avec affectation", qui est comme +=
ou *=
mais avec |
.