Réponses:
Il s'agit d'un opérateur de réduction bit à bit . |a & bsignifie que vous appliquez un OU logique à tous les bits de a(produisant un seul bit), puis effectuez un ET logique de ce bit et b. |an'a aucun effet quand aest un seul bit.
Néanmoins, il est assez courant de voir une réduction bit par bit appliquée aux valeurs à bit unique. Un cas typique est le code généré automatiquement où la largeur réelle de apeut dépendre de la configuration. Une autre possibilité est le code hérité où ail y avait une fois plusieurs bits. Lorsqu'elle aest devenue une valeur de bit unique, cette ligne était toujours techniquement correcte, de sorte que l'opérateur de réduction désormais inutile a été laissé.