Операция побитового. Программирование на C и C++
Опубликованно 05.02.2018 06:20
Побитовые операции-это операции, используемые для выполнения манипуляций на поразрядного или двоичных чисел, которые включают в себя работу с отдельными битами. Это быстрый, простой действий напрямую поддерживается процессором используется для управления значениями для сравнения и расчетов.Расчеты
В двоичной цифровой системе используются только две цифры — 0 и 1. Компьютеры работают в двоичной системе, то есть они хранят данные и выполняют вычисления с помощью только нулей и единиц.
Хотя один двоичный разряд может быть использован для представления значения True (1) (истина) или false (0) (накладные) логика для хранения больших чисел и выполнять сложные функции, вы можете использовать несколько двоичных цифр. На самом деле, любое число может быть представлено в двоичном формате.Приложение
Побитовые операторы применяются в следующих областях:
Коммуникационные стеки, где отдельные биты в заголовке привязывается к данным, которые несут важную информацию.
Встроенное программное обеспечение для управления различными функциями в Чип и указывающие на состояние оборудования путем управления отдельными битами регистров аппаратных встраиваемых микроконтроллеров.
Низкоуровневое программирование для приложений, таких как драйверы устройств, криптографическое программное обеспечение, программное обеспечение для декодирования видео, диспетчеры памяти, программы сжатия и графики.
Легкое управление большими массивами целых чисел в задачах поиска и оптимизации.
Побитовые операции выполняются на битовые флаги, которые могут создать экземпляр типа перечисление может хранить любую комбинацию значений, определенных в список-перечислителей.
Побитовые операции — как это работает?
В отличие от обычных логических операторов (например,+, -, *), которые работают с байтов или групп байтов, побитовые операторы вы можете проверить или установить отдельные биты в байте. Побитовые операции никогда не вызывают переполнения в ячейках памяти, потому что результат, полученный после операции находится в пределах диапазона возможных значений для числового типа.
Побитовые операторы используются в семье с языков программирования (C #, C и C ++):
Или ( | ) результат True, если любой из операндов имеет значение True.
И (&) — результатом является True только если оба операнда истинны. Это может использоваться, чтобы настроить маску проверка значения определенного бита.
Исключающее или (^) — результатом является True, только если один из его операндов имеет значение True. Он в основном используется для переключения отдельных разрядов. Он также помогает, чтобы заменить двух переменных без использования третьей.
Не ( ~ ) - это побитовое сложение или заворот. Обеспечивает побитовое дополнение операнда путем инвертирования его значения, так что все нули превращаются в единицы, а единицы становятся нулями.
>> (Сдвиг вправо) и << (влево-вправо) оператор, который перемещает биты на количество позиций, указанных во втором операнде вправо или влево. Операторы сдвига используются для выравнивания биты.
Пример работы
Побитовые операторы-это символы, которые обозначают действия, которые должны быть выполнены на отдельных битов. Операции побитового работает на двух-битовых шаблонов одинаковой длины, располагая их отдельными битами:
Логическая операция и (&) каждого бита пара приводит к 1 (True), если первый и второй бит равен 1. В противном случае результат нулевой. Среди других применений и может быть использована для проверки отдельных битов в битовой строке, чтобы увидеть, являются ли они ложные или истинные ценности.
Давайте рассмотрим пример:
IsOdd = (ValueToTest & 1)! = 0.
Логическая операция или (|) бит каждой пары приводит к 1, если первый или второй бит равен 1. В противном случае результат нулевой. Логическая операция исключающее или (~) каждого бита пара приводит к 1, если два бита различны, и 0, если они одинаковы.
Логический оператор not представлен как ^. Сдвиг влево (<<), сдвиг вправо (>>) и сдвиг вправо нулями (>>>>) иногда называют побитовыми операторами называются операторы сдвига бит.
Приоритизация
Порядок приоритета (от высшего к низшему) в побитовых операторов при программировании на C:
Нет;
Сдвига вправо и сдвига влево);
И;
ГАММИРОВАНИЯ;
Или.
Эти операнды используются в большинстве языков программирования. Например, при написании кода на JavaScript, поразрядной операции будет такой же как выше. Это вызвано базовой математической основы, на которых базируется кодекс. В частности, побитовые операции в Java, в свою очередь, является полностью идентичным в JavaScript.Бит и программирование на C и других языках
Бит-это наименьшая Единица измерения, используемая для количественной оценки компьютерных данных. Она содержит двоичное значение 0 или 1.Хотя один бит может определить логическое значение True (1) или false (0), в качестве отдельного подразделения она используется редко. Таким образом, в компьютере бит для хранения часто группируются в 8-битном кластеры, которые называются байтами. Поскольку байт состоит из восьми бит, каждый из которых имеет два возможных значения, в побитовых операций в языке Си (язык программирования) один байт может иметь 28 или 256 различных значений.
Термины "бит" и "Байт" часто путают и даже используются как синонимы, так как оба звучат одинаково и снижается на букву "Б". Однако, правильное написание битов сводятся к строчной буквой "б", и Байт сокращается в верхнем регистре — "Б". Важно не путать эти два термина, так как любое измерение в байтах содержится в восемь раз больше бита. Например, небольшой текстовый файл размером 4 КБ содержит 4000 байт, или 32 000 бит.
Как правило, файлы, устройства хранения и емкость памяти измеряется в байтах, а скорость передачи данных измеряется в битах. Например, карты памяти, SSD-накопитель может иметь емкость 240 ГБ, в то время как груз может транспортироваться со скоростью 10 Мбит / с. кроме того, дид могут также использоваться для описания архитектуры процессора, например, 32-разрядный или 64-разрядный процессор.Битовые операции в Паскале
Бит-уровень операций в Паскале включает в себя работу с отдельными битами, которые являются наименьшая единица компьютерной информации. Хотя компьютеры могут манипулировать битами, они, как правило, хранилище данных и выполнение инструкций в бит кратных значений, которые называются байтами. Большинство языков программирования, включая битовые операции в Delphi, контрольные группы из 8, 16 или 32 бита.Описание процесса
Побитовые операторы-это символ, представляющий действие, которое работает с данными на уровне битов, а не байтов или более блока данных, а чаще.
Наиболее распространенные операторы работают с одним или более байтов, большинство систем содержит восемь битов. Поскольку они обеспечивают большую точность и требует меньше ресурсов, побитовые операторы могут сделать ваш код быстрее и эффективнее. Примеры использования битовых операций включают:
шифрования;
сжатия;
диаграммы;
коммуникационный порт/гнездо;
программирование встраиваемых систем;
машины с конечным состоянием.
Оператор побитового работает на двоичное представление числа, а не его значение. Операнд рассматривается как набор битов, а не как единое число. Побитовые операторы похожи в большинстве своих вспомогательная языках — C, java, язык JavaScript, Python и Visual Основные.Почему важно использовать?
Побитовой операции совершенно необходимо при программировании аппаратных регистров во встраиваемых системах. Каждый процессор имеет один или несколько регистров (обычно определенный адрес памяти), необходимо ли прерывание или отключен. Чтобы разрешить прерывания, чтобы запустить процесс, необходимо установить включить бит этого прерывания, и, самое главное, не менять какие-либо другие биты в регистре.
Когда прерывание срабатывает, это, как правило, устанавливает бит в регистре статуса, так что одна процедура обслуживания может определить точную причину прерывания. Тестирование отдельных битов позволяет быстро декодировать источник прерываний.Во многих встраиваемых системах, общий объем доступной оперативной памяти может составлять 64, 128 или 256 байт. В этих условиях обычно используется один байт для хранения нескольких элементов данных и Булевы флаги, а затем использует битовые операции установить и прочитать их.
Категория: Hi-Tech