Побітове НЕ (~)

Оператор побітового НЕ (~) інвертує біти свого операнда.

Синтаксис

~a

Опис

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

До:     11100110111110100000000000000110000000000001
Після:              10100000000000000110000000000001

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

Таблиця істинності для операції НЕ (NOT) наступна

a NOT a
0 1
1 0
 9 (основа 10) = 00000000000000000000000000001001 (основа 2)
               --------------------------------
~9 (основа 10) = 11111111111111111111111111110110 (основа 2) = -10 (основа 10)

Побітове НЕ над будь-яким числом x дає -(x + 1). Наприклад, ~-5 повертає 4.

Зауважте, що через використання 32-бітного представлення чисел і ~-1, і ~4294967295 (232-1) повернуть 0.

Приклади

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

~0;  // -1
~-1; // 0
~1;  // -2

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

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

BCD tables only load in the browser

Див. також