Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования javascript 16.02.12.doc
Скачиваний:
7
Добавлен:
31.08.2019
Размер:
2.86 Mб
Скачать

Битовые операции

Битовые операции применяются к числовым операндам, представленным как двоичные числа (т. е. как цепочки из 32 битов), и возвращают числовое значение, означающее результат операции. Если типы операндов различны, то делается попытка преобразовать их к целому числовому типу.

Битовые операции

Операция

Название

Описание

a & b

Побитовое AND

Возвращает в каждой битовой позиции 1, если соответствующие позиции обоих операндов равны 1.

a | b

Побитовое OR

Возвращает в каждой битовой позиции 1, если соответствующая позиция хотя бы одного операнда равна 1.

a ^ b

Побитовое XOR

Возвращает в каждой битовой позиции 1, если соответствующая позиция ровно одного операнда равна 1.

~a

Побитовое NOT

Унарная операция. Инвертирует каждую битовую позицию операнда.

a << b

Сдвиг влево

Сдвигает двоичное представление левого операнда влево на количество бит, заданное вторым операндом. Освобождающиеся справа биты заполняются нулями.

a >> b

Арифметический сдвиг вправо

Сдвигает двоичное представление левого операнда вправо на количество бит, заданное вторым операндом. Освобождающиеся слева биты заполняются старшим (знаковым) битом.

a >>> b

Логический сдвиг вправо

Сдвигает двоичное представление левого операнда вправо на количество бит, заданное вторым операндом. Освобождающиеся слева биты заполняются нулями.

Примеры:

var i, j, k;

i = 15; j = 9;

k = i & j; // k равно 9 (1111 & 1001 = 1001)

k = i | j; // k равно 15 (1111 | 1001 = 1111)

k = i ^ j; // k равно 6 (1111 ^ 1001 = 0110)

i = -14; // двоичное значение 11111111 11111111 11111111 11110010

j = i >> 2; // j равно -4 (11111111 11111111 11111111 11111100)

k = i >>> 2; // k равно 1073741820 (00111111 11111111 11111111 11111100)

Логические операции

Логические операции применяются к логическим операндам и возвращают логическое значение, означающее результат операции. Если типы операндов различны, то делается попытка преобразовать их к логическому типу.

Логические операции

Операция

Название

Описание

a && b

Логическое AND

Возвращает true, если оба операнда истинны. Если первый операнд ложен, то возвращает false, не вычисляя значение второго операнда.

a || b

Логическое OR

Возвращает true, если хотя бы один операнд истинен. Если первый операнд истинен, то возвращает true, не вычисляя значение второго операнда.

!a

Логическое NOT

Унарная операция. Возвращает true, если операнд ложен.

Примеры:

var i, j, k;

i = 3; j = 5;

k = (i < 4) && (j > 4); // k равно true

k = (i < 4) || (j > 5); // k равно true

k = !k; // k равно false