Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ПОКС.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.59 Mб
Скачать

Декремент (--)

Оператор декремента используется следующим образом:

var-- или --var

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

Например, если x - 3, то утверждение

y = x --

Уменьшает x до 2 и присваивает y равное 3.

Если x - 3, то утверждение

y = -- x

Уменьшает x до 2 и присваивает y равное 2.

Унарное вычитание (-)

Унарный оператор вычитания должен предшествовать его операнду. Например,

x = -x

Вычитает значение x; например, если бы x был равен 3, то стал бы равным -3.

Побитовые Операторы

Побитовые операторы воздействуют на операнды как набор битов (0 и 1). Например, десятичное число 9 имеет двоичное представление 1001. Побитовые операторы выполняют действия на таких двоичных представлениях, но они возвращают стандартное JavaScript численное значение.

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

Побитовые логические операторы работают следующим образом:

  • Операнды преобразованы в 32-битные целые числа, и выражения строк битов (0 и 1).

  • Каждый бит в первом операнде соединен с соответствующим битом во втором операнде: первый бит к первому биту, второй бит ко второму биту, и так далее.

  • Оператор применяется к каждой паре битов, и результат создан побитовым.

Побитовые операторы:

  • Побитовый И & возвращает 1, если оба операнда 1.

  • Побитовый ИЛИ | возвращает 1, если любой операнд 1.

  • Исключающее побитовое ИЛИ ^ возвращает 1, если есть 1 но не оба операнда 1.

Например, бинарное представление 9 - 1001, и бинарное представление 15 - 1111. Так, когда побитовые операторы применяются к этим значениям, то результаты выглядят следующим образом:

  • 15 & 9 возвращает 9 (1111 & 1001 = 1001)

  • 15 | 9 возвращает 15 (1111 | 1001 = 1111)

  • 15 ^ 9 возвращает 6 (1111 ^ 1001 = 0110)

Побитовые Операторы сдвига

Побитовые операторы сдвига:

  • Сдвит влево (<<)

  • Сдвиг вправо (>>)

  • Сдвиг вправо с заполнением нулями (>>>)

Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.

Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.

Сдвит влево (<<)

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

Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в дисятеричной системе 36.

Сдвиг вправо (>>)

Cдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.

Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в дисятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.

Сдвиг вправо с заполнением нулями (>>>)

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

Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в дисятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.