Cамоучитель по VB.NET

Логические операторы


Начиная с бета-версии 2 логические операторы (Not, And, Or и т. д.) работают на уровне двоичных разрядов, как и в прежних версиях VB. Допустим, у вас имеются два целых числа X и Y. Каждый бит результата X And Y равен 1 лишь в том случае, если равны 1 соответствующие биты обоих операндов; в противном случае бит результата равен нулю. Таким образом, при вычислении результата X And Y вычисляется каждый бит 32-разрядного целого числа. Пример:

X = 7 'В двоичном представлении = 0111

Y = 12 'В двоичном представлении = 1100

Выражение X And Y в двоичной системе равно 0100 (4 в десятичной системе), поскольку лишь во второй позиции оба бита равны 1. Остальные биты результата равны 0, поскольку в этих позициях хотя бы один из битов операндов равен 0. Этот способ позволяет проверить значения отдельных битов целого числа. Примеры:

(X And 1) = 1: проверить, установлен ли младший бит числа.

(X And 2) о 2: проверить, установлен ли предпоследний бит числа (поскольку в

двоичной системе число 2 представляется записью 10).

X And 255: младший байт числа (255 дес. = 11111111 дв.).

X And 65280: старший байт числа (65280 дес. = 1111111100000000 дв.).

Значение, предназначенное для проверки отдельных битов числа, называется маской (mask).



Содержание раздела