русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Побитовые операторы


Дата добавления: 2015-07-09; просмотров: 422; Нарушение авторских прав


 

Побитовые операторы воздействуют на операнды как набор битов (0 и 1). Например, десятичное число 9 имеет двоичное представление 1001. Побитовые операторы выполняют действия на таких двоичных представлениях, но они возвращают стандартное JavaScript численное значение.

Побитовые логические операторы работают следующим образом:

· Операнды преобразованы в 32-битные целые числа, и выражения строк битов (0 и 1).

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

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

Побитовые операторы:

· Побитовый И & возвращает 1, если оба операнда 1.

· Побитовый ИЛИ | возвращает 1, если любой операнд 1.

· Исключающее побитовое ИЛИ ^ возвращает 1, если есть 1 но не оба операнда 1.

Например, бинарное представление 9 - 1001, и бинарное представление 15 - 1111. Так, когда побитовые операторы применяются к этим значениям, то результаты выглядят следующим образом:

· 15 & 9 возвращает 9 (1111 & 1001 = 1001)

· 15 | 9 возвращает 15 (1111 | 1001 = 1111)

· 15 ^ 9 возвращает 6 (1111 ^ 1001 = 0110)

Побитовые операторы сдвига:

· Сдвиг влево (<<)

· Сдвиг вправо (>>)

· Сдвиг вправо с заполнением нулями (>>>)

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

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

Сдвиг влево (<<)

Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулями



Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в десятеричной системе 36.

Сдвиг вправо (>>)

Сдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.

Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в десятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.

Сдвиг вправо с заполнением нулями (>>>)

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

Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в десятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.

 



<== предыдущая лекция | следующая лекция ==>
Арифметические Операторы | Вычисление...


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.322 сек.