Bitwise AND (&)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
ÐобиÑовÑй опеÑаÑÐ¾Ñ Ð (&) возвÑаÑÐ°ÐµÑ 1 в каждой биÑовой позиÑии, Ð´Ð»Ñ ÐºÐ¾ÑоÑой ÑооÑвеÑÑÑвÑÑÑие биÑÑ Ð¾Ð±Ð¾Ð¸Ñ
опеÑандов ÑÐ°Ð²Ð½Ñ 1.
ÐнÑеÑакÑивнÑй пÑимеÑ
const a = 5; // 00000000000000000000000000000101
const b = 3; // 00000000000000000000000000000011
console.log(a & b); // 00000000000000000000000000000001
// Expected output: 1
СинÑакÑиÑ
a & b
ÐпиÑание
ÐпеÑÐ°Ð½Ð´Ñ Ð¿ÑеобÑазÑÑÑÑÑ Ð² 32-биÑнÑе ÑелÑе ÑиÑла и вÑÑажаÑÑÑÑ ÑеÑией биÑов (нÑлей and единиÑ). ЧиÑла Ñ Ð±Ð¾Ð»ÐµÐµ Ñем 32 биÑами оÑбÑаÑÑваÑÑ ÑÑаÑÑие ÑазÑÑдÑ. ÐапÑимеÑ, ÑледÑÑÑее Ñелое ÑиÑло Ñ Ð±Ð¾Ð»ÐµÐµ Ñем 32 биÑами бÑÐ´ÐµÑ Ð¿ÑеобÑазовано в 32-биÑное Ñелое:
Ðо: 11100110111110100000000000000110000000000001 ÐоÑле: 10100000000000000110000000000001
ÐаждÑй Ð±Ð¸Ñ Ð² пеÑвом опеÑанде ÑвÑзан Ñ ÑооÑвеÑÑÑвÑÑÑим биÑом во вÑоÑом опеÑанде:пеÑвÑй Ð±Ð¸Ñ - Ñ Ð¿ÐµÑвÑм,вÑоÑой- Ñо вÑоÑÑм, и Ñ.д.
ÐпеÑаÑÐ¾Ñ Ð¿ÑименÑеÑÑÑ Ðº каждой паÑе биÑов, и ÑезÑлÑÑÐ°Ñ ÑÑÑоиÑÑÑ Ð¿Ð¾Ð±Ð¸Ñово.
ТаблиÑа иÑÑинноÑÑи Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа Ð:
| a | b | a Ð b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
. 9 (base 10) = 00000000000000000000000000001001 (base 2)
14 (base 10) = 00000000000000000000000000001110 (base 2)
--------------------------------
14 & 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
ÐобиÑовое Ð Ð´Ð»Ñ Ð»Ñбого ÑиÑла x Ñ 0 даÑÑ 0.
ÐÑимеÑÑ
>ÐÑполÑзование побиÑового Ð
// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
5 & 2; // 0
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification > # prod-BitwiseANDExpression > |