TODOS BIT A BIT e ALGUNS BIT A BIT
As palavras-chave ALL BITWISE e SOME BITWISE são usadas para testar os bits em um tipo integral. Se todos os bits definidos em uma propriedade corresponderem à máscara, ALL BITWISE será verdadeiro. Se pelo menos um dos bits definidos em uma propriedade corresponder à máscara, SOME BITWISE é verdadeiro.
Os operadores podem ser aplicados a propriedades escalares (valor único) e propriedades vetoriais (valores múltiplos). O exemplo de código a seguir mostra como testar valores de propriedade com ALL BITWISE e SOME BITWISE.
ALL array ALL BITWISE [values?]
ALL array SOME BITWISE [values?]
Operadores de comparação
Os operadores de comparação suportados para testes BITWISE estão listados na tabela a seguir.
Operador de comparação | Descrição |
---|---|
= | Igual a |
!= ou <> | Não igual a |
A lógica dos testes BITWISE está listada na tabela a seguir.
Operador de teste e comparação BITWISE | Lógica |
---|---|
= TODOS BIT A BIT | Propriedade & Máscara = Máscara |
= ALGUNS BIT A BIT | Propriedade & Máscara!= 0 |
<> TUDO BIT A BIT | Propriedade & Máscara != Máscara |
<> ALGUNS BIT A BIT | Propriedade & Máscara = 0 |
A tabela verdade a seguir usa exemplos de valores binários e hexadecimais para demonstrar a lógica dos testes BITWISE.
Propriedade em binário (hex) | Máscara em binário (hex) | Propriedade e Máscara = binário (hex) | = ALGUNS BIT A BIT | = TODOS BIT A BIT |
---|---|---|---|---|
0001 (0x1) | 0001 (0x1) | 0001 (0x1) | Verdadeiro | Verdadeiro |
0001 (0x1) | 0011 (0x3) | 0001 (0x1) | Verdadeiro | Falso |
0011 (0x3) | 0001 (0x1) | 0001 (0x1) | Verdadeiro | Verdadeiro |
0010 (0x2) | 0001 (0x1) | 0000 (0x0) | Falso | Falso |
11110000 (0xF0) | 00000011 (0x03) | 00000000 (0x00) | Falso | Falso |
11110010 (0xF2) | 11110010 (0xF2) | 11110010 (0xF2) | Verdadeiro | Verdadeiro |
11110010 (0xF2) | 00000011 (0x03) | 00000010 (0x02) | Verdadeiro | Falso |
Exemplo
Veja a seguir um exemplo do predicado ALL BITWISE .
Select system.itemnamedisplay, system.FileAttributes from SystemIndex Where System.FileAttributes <> ALL BITWISE 0x4 AND Scope = 'file:c:\bitwise'
Tópicos relacionados