Студопедия — Битовые операции
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Битовые операции






Битовые операции рассматривают свои операнды как 32-битные целые значения (последовательность 0 и 1), а не как 10-ричные, 16-ричные или 8-ричные числа. Например, десятеричное 9 имеет бинарное представление 1001. Битовые операции выполняются над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.

В таблице приведены битовые операции JavaScript.

Таблица 3.4 Битовые операции

Операция Использование Описание
И a & b Возвращает 1 в позиции каждого бита, где соответствующий бит обоих операндов равен 1.
ИЛИ a | b Возвращает 1 в позиции каждого бита, где соответствующий бит одного или обоих операндов равен 1.
Исключающее ИЛИ/XOR a ^ b Возвращает 1 в позиции каждого бита, где соответствующий бит одного, но не обоих, операндов равен 1.
НЕ ~ a Инвертирует биты операнда.
Сдвиг влево a << b Сдвигает операнд a в бинарном представлении на b битов влево, заполняя справа нулями.
Сдвиг вправо с сохранением знака a >> b Сдвигает операнд a в бинарном представлении на b битов вправо, отбрасывая смещённые биты.
Сдвиг вправо с заполнением нулями a >>> b Сдвигает операнд a в бинарном представлении на b битов вправо, отбрасывая смещённые биты и заполняя слева нулями.

Битовые логические операции

Концептуально битовые логические операции работают так:

· Операнды конвертируются в 32-битные целые и выражаются серией битов (нулей и единиц).

· Каждый бит первого операнда образует пару с соответствующим битом второго операнда: первый бит с первым, второй со вторым и т.д.

· Операция применяется к каждой паре битов, и результат конструируется побитно.

Например, цифра 9 имеет двоичное/бинарное представление 1001, а цифра 15 - 1111. Поэтому результаты применения битовых операций к этим значениям будут такими:

· 15 & 9 даст 9 (1111 & 1001 = 1001)

· 15 | 9 даст 15 (1111 | 1001 = 1111)

· 15 ^ 9 даст 6 (1111 ^ 1001 = 0110)

Битовые операции сдвига

Операции битового сдвига принимают два операнда: первый это сдвигаемое число, а второй специфицирует количество битовых позиций, на которое сдвигается первый операнд. Направление сдвига контролируется самой операцией.

Операции сдвига конвертируют свои операнды в 32-битные целые числа и возвращают результат того же типа, что и у левого операнда.

Операции сдвига перечислены в следующей таблице.

Таблица 3.5 Операции битового сдвига

Операция Описание Пример
<< (Сдвиг влево) Эта операция сдвигает влево первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые влево, отбрасываются. Справа идёт заполнение нулями. 9<<2 даёт 36, поскольку 1001, сдвинутое на 2 бита влево, становится 100100, что равно 36.
>> (Сдвиг вправо с сохранением знака) Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые вправо, отбрасываются. Копии левых битов вставляются слева. 9>>2 даёт 2, поскольку 1001, сдвинутое на 2 бита вправо, становится 10, что равно 2. Аналогично -9>>2 даёт -3, поскольку знак сохраняется.
>>> (Сдвиг вправо с заполнением нулями) Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество битов. Излишние биты, сдвинутые вправо, отбрасываются. Слева идёт заполнение нулями. 19>>>2 даёт 4, поскольку 10011, сдвинутое на 2 бита вправо, становится 100, то есть 4. Для неотрицательных чисел сдвиг вправо с заполнением нулями и сдвиг вправо с сохранением знака дают одинаковые результаты.






Дата добавления: 2015-04-19; просмотров: 426. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия