Виключне побітове АБО (^)

Оператор виключного побітового АБО (^) повертає 1 на кожній бітовій позиції, де відповідний біт одного з операндів, але не обох, дорівнює 1.

Синтаксис

a ^ b

Опис

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

До:     11100110111110100000000000000110000000000001
Після:              10100000000000000110000000000001

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

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

Таблиця істинності для операції виключного побітового АБО (XOR) наступна:

a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
.    9 (основа 10) = 00000000000000000000000000001001 (основа 2)
    14 (основа 10) = 00000000000000000000000000001110 (основа 2)
                   --------------------------------
14 ^ 9 (основа 10) = 00000000000000000000000000000111 (основа 2) = 7 (основа 10)

Виключне побітове АБО над будь-яким числом x та 0 дає x.

Приклади

Використання виключного побітового АБО

// 9  (00000000000000000000000000001001)
// 14 (00000000000000000000000000001110)

14 ^ 9; 
// 7  (00000000000000000000000000000111)

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

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

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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Bitwise XOR (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

Див. також