Побитовые операторы
Побитовые операторы интерпретируют операнды как последовательность из 32 битов (нулей и единиц). Они производят операции, используя двоичное представление числа, и возвращают новую последовательность из 32 бит (число) в качестве результата. Эта глава требует дополнительных знаний в программировании и не очень важная, при первом чтении вы можете пропустить её и вернуться потом, когда захотите понять, как побитовые операторы работают. Формат 32-битного целого числа со знаком Побитовые операторы в JavaScript работают с 32-битными целыми числами в их двоичном представлении. Это представление называется «32-битное целое со знаком, старшим битом слева и дополнением до двойки». Разберём, как устроены числа внутри подробнее, это необходимо знать для битовых операций с ними.
Примеры представления чисел в двоичной системе: a = 0; // 00000000000000000000000000000000 a = 1; // 00000000000000000000000000000001 a = 2; // 00000000000000000000000000000010 a = 3; // 00000000000000000000000000000011 a = 255;// 00000000000000000000000011111111 Обратите внимание, каждое число состоит ровно из 32-битов.
Двоичный вид числа, обратного данному (например, 5 и -5) получается путём обращения всех битов с прибавлением 1. То есть, нули заменяются на единицы, единицы — на нули и к числу прибавляется 1. Получается внутреннее представление того же числа, но со знаком минус.
Например, вот число 314: Чтобы получить -314, первый шаг — обратить биты числа: заменить 0 на 1, а 1 на 0: Второй шаг — к полученному двоичному числу приплюсовать единицу, обычным двоичным сложением: 11111111111111111111111011000101 + 1 = 11111111111111111111111011000110. Итак, мы получили: -314 = 11111111111111111111111011000110 Принцип дополнения до двойки делит все двоичные представления на два множества: если крайний-левый бит равен 0 — число положительное, если 1 — число отрицательное. Поэтому этот бит называется знаковым битом. Список операторов В следующей таблице перечислены все побитовые операторы. Далее операторы разобраны более подробно.
Побитовые операторы работают следующим образом:
Посмотрим, как работают операторы, на примерах.
Читайте также: Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|