Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
11.03.2015
Размер:
573.44 Кб
Скачать

Арифметические операции

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

Операция

Название

Описание

a + b

Сложение

Возвращает сумму двух операндов.

a - b

Вычитание

Возвращает разность от вычитания правого операнда из левого.

a * b

Умножение

Возвращает произведение двух операндов.

a / b

Деление

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

a % b

Остаток по модулю

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

++

Инкремент

Унарная операция. Увеличивает значение переменной на 1. Если используется как префикс (++a), возвращает значение операнда после увеличения его на 1. Если используется как постфикс (a++), возвращает значение операнда перед увеличением его на 1.

--

Декремент

Унарная операция. Уменьшает значение переменной на 1. Если используется как префикс (--a), возвращает значение операнда после уменьшения его на 1. Если используется как постфикс (a--), возвращает значение операнда перед уменьшением его на 1.

-a

Смена знака

Унарная операция. Возвращает арифметическое отрицание операнда.

Примеры:

var i, j, k;

i = 19 % 6.8; // i равно 5

k = 2;

j = k++; // j равно 2, k равно 3

j = ++k; // j и k равны 4

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

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

Операция

Название

Описание

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)