TOUT BITWISE et SOME BITWISE
Les mots clés ALL BITWISE et SOME BITWISE sont utilisés pour tester les bits dans un type intégral. Si tous les bits définis dans une propriété correspondent au masque, ALL BITWISE est vrai. Si au moins un des bits définis dans une propriété correspond au masque, SOME BITWISE est vrai.
Les opérateurs peuvent être appliqués aux propriétés scalaires (à valeur unique) et aux propriétés vectorielles (à valeurs multiples). L’exemple de code suivant montre comment tester les valeurs de propriété avec ALL BITWISE et SOME BITWISE.
ALL array ALL BITWISE [values?]
ALL array SOME BITWISE [values?]
Opérateurs de comparaison
Les opérateurs de comparaison pris en charge pour les tests BITWISE sont répertoriés dans le tableau suivant.
Opérateur de comparaison | Description |
---|---|
= | Égal à |
!= ou <> | Non égal à |
La logique des tests BITWISE est répertoriée dans le tableau suivant.
Opérateur de test et de comparaison BITWISE | Logique |
---|---|
= TOUT BITWISE | Property &Mask = Mask |
= SOME BITWISE | Property &Mask != 0 |
<> TOUT AU NIVEAU DU BIT | Property &Mask != Mask |
<> DANS LE SENS DU BIT | Property &Mask = 0 |
Le tableau de vérité suivant utilise des exemples de valeurs binaires et hexadécimals pour illustrer la logique des tests BITWISE.
Propriété en binaire (hexadécimal) | Masque en binaire (hexadécimal) | Property &Mask = binary (hexadécimal) | = SOME BITWISE | = TOUT BITWISE |
---|---|---|---|---|
0001 (0x1) | 0001 (0x1) | 0001 (0x1) | True | True |
0001 (0x1) | 0011 (0x3) | 0001 (0x1) | True | False |
0011 (0x3) | 0001 (0x1) | 0001 (0x1) | True | True |
0010 (0x2) | 0001 (0x1) | 0000 (0x0) | False | False |
11110000 (0xF0) | 00000011 (0x03) | 00000000 (0x00) | False | False |
11110010 (0xF2) | 11110010 (0xF2) | 11110010 (0xF2) | True | True |
11110010 (0xF2) | 00000011 (0x03) | 00000010 (0x02) | True | False |
Exemple
Voici un exemple de prédicat ALL BITWISE .
Select system.itemnamedisplay, system.FileAttributes from SystemIndex Where System.FileAttributes <> ALL BITWISE 0x4 AND Scope = 'file:c:\bitwise'
Rubriques connexes