Javascript Справочни битови оператори
Описание, примери
Побитовите оператори интерпретират операндите като последователност от 32 бита (нули и единици). Те извършват операции, използвайки двоичното представяне на число и връщат нова 32-битова последователност (число) като резултат.
Следващата таблица изброява всички битови оператори.
Освен това, двоичното представяне на число и оператори са обсъдени по-подробно.
32-битов формат с подписано цяло число
Операндите на всички побитови операнди се интерпретират като 32-битови подписани цели числа с най-значимия бит вляво и допълнение на две.
„Най-значимият бит вляво“ - означава, че най-значимият бит (битова позиция с най-висока стойност) е в най-лявата позиция.
„Допълнение на две“ означава, че обратното на даденото число (например 5 и -5) се получава чрез обръщане (двоично НЕ) на всички битове и добавяне на 1.
Например, тук е числото 314:
За да получите -314, първата стъпка е да обърнете битовете на числото:
Втората стъпка е да добавите една:
Принципът на комплемента на двамата разделя всички двоични представления на два набора: ако най-левият бит е 0, числото е положително, ако 1, числото е отрицателно. Следователно този бит се нарича знак бит.
Побитови операции
Двоичните битови оператори работят по следния начин:
- Операндите се преобразуват в 32-битови цели числа, представени от последователност от битове (нули и единици)
- Всеки бит в първия операнд се разглежда заедно със съответния бит във втория операнд: първият бит с първия, вторият с втория и т.н.
- Операторът се прилага към всяка двойка битове, като дава съответния бит от резултата.
& (побитово И)
Извършва операция И на всяка двойка битове. a AND b е едно само когато и двата бита са едно.
Таблица на истината за И:
| (Побитово ИЛИ)
Извършва операция ИЛИ за всяка двойка битове. a ИЛИ b е 1, ако поне един бит от a, b е 1.
Таблица на истината за ИЛИ:
^ (Изключително ИЛИ)
Извършва ексклузивна операция ИЛИ за всяка двойка битове.
a Изключително ИЛИ b е 1, ако само a = 1 или само b = 1, но не и двете a = b = 1 .