
Логические операторы
Логические (Boolean) переменные могут хранить одно из двух значений: Истина (True) или Ложь (False). Присвоить значение логической переменной можно с помощью служебных слов True или False, например:
Dim bEnable as Boolean
bEnable = True
Присвоить значение логической переменной можно, поместив в правую часть оператора присваивания операцию сравнения, например:
Dim bEnable as Boolean, nA as Integer, nB as Integer
bEnable = nA > nB
Для логических переменных в Visual Basic определена операция логического отрицания, в результате которой возвращается значение противоположное значению операнда, например:
Dim bEnable as Boolean, bB as Boolean
bEnable = Not bB
Для логических переменных в Visual Basic определены операции: логическое И (And), логическое ИЛИ (Or), исключительное ИЛИ (Xor), логическая эквивалентность Eqv, логическое включение Imp. Операции выполняются с двумя операндами, и их синтаксис имеет вид:
[Result =] Expression1 Operator Expression2
Result – необязательный параметр, переменная логического типа;
Expression1 и Expression2 – обязательные параметры, выражения логического типа.
Логические операции над логическими данными дают результат логического типа по правилам, указанным в таблице.
A |
B |
A And B |
A Or B |
A Xor B |
A Eqv B |
A Imp B |
False |
False |
False |
False |
False |
True |
True |
False |
True |
False |
True |
True |
False |
True |
True |
False |
False |
True |
True |
False |
False |
True |
True |
True |
True |
False |
True |
True |
Поразрядные логические операции
П
еречисленные
выше логические операторы могут быть
применены и к переменным целого типа
(Byte,
Integer,
Long).
При этом необходимо иметь в виду, что
целое число в памяти хранится в виде
последовательности нулей и единиц.
Например, число типа Byte,
равное 26, имеет в памяти следующий вид:
Это обстоятельство широко используется в тех случаях, когда значение целочисленной переменной используется для хранения набора флагов.
Поразрядные логические операции в этом случае применяются к соответствующим битам. Значение бита, равное 1 эквивалентно True, 0 – False. Синтаксис поразрядной операции имеет вид:
[Result =] Expression1 Operator Expression2
Result – необязательный параметр, переменная целого типа;
Expression1 и Expression2 – обязательные параметры, выражения целого типа.
Поразрядные логические операции над целочисленными данными дают результат целочисленного типа по правилам, указанным в таблице.
A |
B |
A And B |
A Or B |
A Xor B |
A Eqv B |
A Imp B |
Not A |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
Например:
Dim A as Byte, B as Byte, C as Byte
A = 26 ‘A = 00011010
B = 6 ‘B = 00000110
C = A And B ‘C = 00000010 = 2
C = Not A ‘C = 11100101 = 229