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

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

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





Битовые операции рассматривают свои операнды как 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; просмотров: 457. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


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


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

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

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