TUTTI BIT PER BIT E ALCUNI BIT PER BIT
Le parole chiave ALL BITWISE e SOME BITWISE vengono usate per testare i bit in un tipo integrale. Se tutti i bit impostati in una proprietà corrispondono alla maschera, ALL BITWISE è true. Se almeno uno dei bit impostati in una proprietà corrisponde alla maschera, SOME BITWISE è true.
Gli operatori possono essere applicati alle proprietà scalari (a valore singolo) e alle proprietà vector (multiple-value). Nell'esempio di codice seguente viene illustrato come testare i valori delle proprietà con ALL BITWISE e SOME BITWISE.
ALL array ALL BITWISE [values?]
ALL array SOME BITWISE [values?]
Operatori di confronto
Gli operatori di confronto supportati per i test BITWISE sono elencati nella tabella seguente.
Operatore di confronto | Descrizione |
---|---|
= | Uguale a |
!= o <> | Diverso da |
La logica dei test BITWISE è elencata nella tabella seguente.
Operatore di confronto e test BITWISE | Logica |
---|---|
= ALL BITWISE | Property & Mask = Mask |
= ALCUNI BIT PER BIT | Proprietà e maschera != 0 |
<> TUTTO BIT PER BIT | Proprietà e maschera != Maschera |
<> ALCUNI BIT PER BIT | Proprietà e maschera = 0 |
La tabella di verità seguente usa valori binari ed esadecimali di esempio per illustrare la logica dei test BITWISE.
Proprietà in formato binario (esadecimale) | Maschera in formato binario (esadecimale) | Property & Mask = binary (esadecimale) | = ALCUNI BIT PER BIT | = ALL BITWISE |
---|---|---|---|---|
0001 (0x1) | 0001 (0x1) | 0001 (0x1) | Vero | Vero |
0001 (0x1) | 0011 (0x3) | 0001 (0x1) | Vero | False |
0011 (0x3) | 0001 (0x1) | 0001 (0x1) | Vero | Vero |
0010 (0x2) | 0001 (0x1) | 0000 (0x0) | Falso | Falso |
11110000 (0xF0) | 00000011 (0x03) | 00000000 (0x00) | Falso | Falso |
11110010 (0xF2) | 11110010 (0xF2) | 11110010 (0xF2) | Vero | Vero |
11110010 (0xF2) | 00000011 (0x03) | 00000010 (0x02) | Vero | False |
Esempio
Di seguito è riportato un esempio del predicato ALL BITWISE .
Select system.itemnamedisplay, system.FileAttributes from SystemIndex Where System.FileAttributes <> ALL BITWISE 0x4 AND Scope = 'file:c:\bitwise'
Argomenti correlati
-
Concettuale