TODOS LOS BIT A BIT Y ALGUNOS BIT A BIT
Las palabras clave ALL BITWISE y SOME BITWISE se usan para probar los bits en un tipo entero. Si todos los bits establecidos de una propiedad coinciden con la máscara, ALL BITWISE es true. Si al menos uno de los bits establecidos de una propiedad coincide con la máscara, SOME BITWISE es true.
Los operadores se pueden aplicar a las propiedades escalares (valor único) y a las propiedades de vector (varios valores). En el ejemplo de código siguiente se muestra cómo probar los valores de propiedad con ALL BITWISE y SOME BITWISE.
ALL array ALL BITWISE [values?]
ALL array SOME BITWISE [values?]
Operadores de comparación
Los operadores de comparación admitidos para las pruebas BITWISE se enumeran en la tabla siguiente.
Operadores de comparación | Descripción |
---|---|
= | Igual a |
!= o <> | No igual a |
La lógica de las pruebas BITWISE se muestra en la tabla siguiente.
Operador de comparación y prueba BITWISE | Lógica |
---|---|
= ALL BITWISE | Propiedad y máscara = Máscara |
= ALGUNOS BIT A BIT | Propiedad y máscara != 0 |
<> TODO BIT A BIT | Propiedad & Máscara != Máscara |
<> ALGUNOS BIT A BIT | Propiedad y máscara = 0 |
En la tabla de verdad siguiente se usan valores binarios y hexadecimales de ejemplo para demostrar la lógica de las pruebas BITWISE.
Propiedad en binario (hexadecimal) | Máscara en binario (hexadecimal) | Property & Mask = binary (hexadecimal) | = ALGUNOS BIT A BIT | = ALL 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 |
Ejemplo
A continuación se muestra un ejemplo del predicado ALL BITWISE .
Select system.itemnamedisplay, system.FileAttributes from SystemIndex Where System.FileAttributes <> ALL BITWISE 0x4 AND Scope = 'file:c:\bitwise'
Temas relacionados