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

Перечислим побитовые операторы доступные в JavaScript:

  • ~ — двоичная инверсия. Значение каждого бита заменяется на противоположное:
y = ~x;
  • & — двоичное И:
let x = 100, y = 75, z;
console.log( x.toString(2) );           // 1100100
console.log( y.toString(2) );           // 1001011
z = x & y;
console.log( z.toString(2) );           // 1000000
  • | — двоичное ИЛИ:
let x = 100, y = 75, z;
console.log( x.toString(2) );           // 1100100
console.log( y.toString(2) );           // 1001011
z = x | y;
console.log( z.toString(2) );           // 1101111
  • ^ — двоичное исключающее ИЛИ:
let x = 100, y = 250, z;
console.log( x.toString(2) );           // 01100100
console.log( y.toString(2) );           // 11111010
z = x ^ y;
console.log( z.toString(2) );           // 10011110
  • << — сдвиг влево — сдвиг влево на один или более разрядов с заполнением младших разрядов нулями:
let x = 100;
console.log( x.toString(2) );           // 001100100
x = x << 1;
console.log( x.toString(2) );           // 011001000
x = x << 1;
console.log( x.toString(2) );           // 110010000
  • >> — сдвиг вправо — сдвиг вправо на один или более разрядов с заполнением старших разрядов содержимым самого старшего разряда:
x = x >> 1;
  • >>> — сдвиг вправо без учета знака — сдвиг вправо на один или более разрядов с заполнением старших разрядов нулями:
x = x >>> 1;

Как следует из названия, побитовые операторы выполняют поразрядные действия с двоичным представлением целых чисел.

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов