ALL BITWISE и SOME BITWISE
Ключевые слова ALL BITWISE и SOME BITWISE используются для тестирования битов целочисленного типа. Если все биты набора в свойстве соответствуют маске, ALL BITWISE имеет значение true. Если по крайней мере один из наборов битов в свойстве соответствует маске, ЗНАЧЕНИЕ SOME BITWISE имеет значение true.
Операторы можно применять как к скалярным (однозначным) свойствам, так и к свойствам вектора (несколько значений). В следующем примере кода показано, как протестировать значения свойств с помощью ALL BITWISE и SOME BITWISE.
ALL array ALL BITWISE [values?]
ALL array SOME BITWISE [values?]
Операторы сравнения
Поддерживаемые операторы сравнения для тестов BITWISE перечислены в следующей таблице.
Оператор сравнения | Description |
---|---|
= | Равно |
!= или <> | Не равно |
Логика тестов BITWISE представлена в следующей таблице.
Оператор тестирования и сравнения BITWISE | Логика |
---|---|
= ALL BITWISE | Свойство и маска = маска |
= НЕКОТОРЫЕ БИТОВЫЕ | Свойство и маска != 0 |
<> ALL BITWISE | Свойство и маска != маска |
<> НЕКОТОРЫЕ БИТОВЫЕ | Свойство и маска = 0 |
В следующей таблице истины используются примеры двоичных и шестнадцатеричных значений для демонстрации логики тестов BITWISE.
Свойство в двоичном (шестнадцатеричном) | Маска в двоичном (шестнадцатеричном) | Property &Mask = binary (hex) | = НЕКОТОРЫЕ БИТОВЫЕ | = ALL BITWISE |
---|---|---|---|---|
0001 (0x1) | 0001 (0x1) | 0001 (0x1) | Истина | Истина |
0001 (0x1) | 0011 (0x3) | 0001 (0x1) | Истина | False |
0011 (0x3) | 0001 (0x1) | 0001 (0x1) | Истина | Истина |
0010 (0x2) | 0001 (0x1) | 0000 (0x0) | False | False |
111100000 (0xF0) | 00000011 (0x03) | 00000000 (0x00) | False | False |
11110010 (0xF2) | 11110010 (0xF2) | 11110010 (0xF2) | Истина | Истина |
11110010 (0xF2) | 00000011 (0x03) | 00000010 (0x02) | Истина | False |
Пример
Ниже приведен пример предиката ALL BITWISE .
Select system.itemnamedisplay, system.FileAttributes from SystemIndex Where System.FileAttributes <> ALL BITWISE 0x4 AND Scope = 'file:c:\bitwise'
См. также