Побитовые операторы в языке C

Bitwise Operators C Language



Побитовые операторы, часто известные как кодирование на битовом уровне, были отброшены для интерпретации данных только на битовом уровне. Bitwise выполняет операции с одним или даже дополнительными битовыми комбинациями и двоичными числами на битовом уровне. Они использовались для ускорения оценки численных расчетов. Он состоит из двух чисел, одно из которых равно 0, а другое - 1. Вот несколько поразрядных операторов, которые мы обсудим в нашей статье.

Войдите в систему из своей системы Linux и попробуйте сочетание клавиш Ctrl + Alt + T, чтобы открыть консольный терминал. У нас будет несколько примеров, чтобы подробно описать операции побитовых операторов в языке C. Давайте подробно рассмотрим каждый побитовый оператор отдельно.







Побитовое И:

Поразрядный оператор использовался для репликации бита в результат, если этот бит присутствует в обоих взаимных операндах. C или C ++ требует 2 операнда, которые выполняют AND для каждого бита этих двух целых чисел. Побитовое И приводит к 1, когда оба бита имеют значение 1. Итак, чтобы понять работу, создайте и откройте файл типа C с помощью редактора Nano. Для этого мы должны использовать нано-инструкцию в оболочке следующим образом:



$наноtest.c



Код для побитового оператора AND показан на изображении ниже. Все, что вам нужно сделать, это просто написать этот код в вашем файле редактора GNU nano test.c как есть. В этом коде есть библиотека заголовков stdio.h, без которой мы не сможем выполнить кодирование в программировании на C. Затем мы создали основной метод с целым типом возвращаемого значения. В языке C выполнение кода выполняется с помощью основного метода. Итак, мы объявили две переменные целочисленного типа, x и y, со значениями 35 и 13 соответственно. После этого была указана другая целочисленная переменная с нулевым значением. Мы будем использовать первые две целочисленные переменные и применять между ними побитовый оператор AND. Эта работа была проделана в следующей строке, где оператор AND использовался как &, а результирующее значение будет сохранено в нулевой переменной z. Затем мы использовали оператор печати, чтобы показать результирующее значение на экране терминала, и основной метод закрывается. Сохраните файл с помощью сочетания клавиш GNU Ctrl + S, а затем выйдите из редактора nano с помощью Ctrl + X на клавиатуре пишущей машинки.





Итак, самое время скомпилировать приведенный выше код после сохранения файла. Используйте инструкцию gcc в консольной оболочке, используя имя файла как test.c или другое имя файла, и нажмите клавишу Enter. Вы можете видеть, что ошибок нет; это означает, что код корректен вручную.



$gcctest.c

После компиляции кода пора его выполнить. Для этого запустите в оболочке указанный ниже запрос. Результат показывает 1 как результат. Это означает, что обе наши целочисленные переменные имеют 1 в одном из своих битов. Вот почему он возвращает 1.

$./а. выход

Побитовое ИЛИ:

Теперь пришло время разработать побитовый оператор ИЛИ. Побитовый оператор возвращает 1 в результате, когда один из его битов равен 1. Если оба бита двух целых чисел равны 0, то он возвращает 0. После получения всех битов будет сгенерирован набор битов. Мы должны увидеть, какое это число образовали эти биты. Итак, сначала откройте тот же документ test.c. Введите и затем сохраните показанный ниже код в файле GNU с помощью клавиши Ctrl + S. Код почти такой же, как и в предыдущем примере с поразрядным оператором И. На этот раз мы только что изменили значение целого числа x на 47 и использовали оператор OR, например. | между обеими переменными. Закройте файл, чтобы скомпилировать код.

После успешного выполнения документа test.c отображается 47-й выходной бит.

$./а. выход

Побитовое исключающее ИЛИ:

Побитовый оператор возвращает 1, если оба числовых бита различны. Поэтому, когда биты совпадают, будет получено 0. Знак оператора ^ будет представлять побитовый оператор. Итак, снова откройте документ и напишите тот же старый код в редакторе файлов GNU. На этот раз мы использовали операторы ^ в двух целочисленных переменных, и результат будет сохранен в переменной z при печати в терминале.

Скомпилируйте и запустите файл test.c, верните 34 в результате. Это означает, что новое целое число 34 генерируется после применения оператора XOR к двум целочисленным переменным.

$./а. выход

Побитовое дополнение:

Этот оператор будет применен только к одной переменной и вернет значение номера бита. Например, он изменит бит 0 на 1 и бит 1 на 0. Напишите тот же код в том же файле, но с небольшими изменениями в строке 6. Мы присвоили z, обратный x.

Скомпилируйте файл и запустите его. В C результат побитового дополнения был увеличен на 1 с отрицательным знаком.

Оператор левого сдвига:

Это в некоторой степени сместит место битов. Тот же код может быть отображен на изображении ниже. В этом примере мы будем сдвигать на 2 бита влево.

Выходные данные показывают 188 как новое сгенерированное значение.

$./а. выход

Оператор правого сдвига:

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

На этот раз мы получили 11 на выходе при сдвиге 2 бита вправо.

$./а. выход

Заключение:

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