Побітове І (&)

Оператор побітового І (AND) & вертає 1 для кожної бітової позиції, де відповідні біти обох операндів дорівнюють 1.

Синтаксис

a & b

Опис

Операнди перетворюються на 32-бітні цілі числа та виражаються послідовністю бітів (нулів та одиниць). Числа, що мають більше 32 бітів, втрачають свої старші біти. Наприклад, наступне ціле число, що має більше 32 бітів, буде перетворене на 32-бітне ціле число:

До:     11100110111110100000000000000110000000000001
Після:              10100000000000000110000000000001

Кожен біт першого операнда ставиться у пару до відповідного біту другого операнда: перший біт до першого біту, другий біт до другого, і так далі.

Оператор застосовується до кожної пари бітів, а результат будується побітово.

Таблиця істинності для операції І наступна:

a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1
.    9 (основа 10) = 00000000000000000000000000001001 (основа 2)
    14 (основа 10) = 00000000000000000000000000001110 (основа 2)
                   --------------------------------
14 & 9 (основа 10) = 00000000000000000000000000001000 (основа 2) = 8 (основа 10)

Побітове І над будь-яким числом x та 0 дає 0.

Приклади

Використання побітового І

// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
5 & 2; // 0

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'Bitwise AND expression' in that specification.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Bitwise AND (a & b)Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Див. також