Побитовые операторы в C [с примером кода]

Опубликовано: 2020-10-26

Оглавление

Введение

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

  • Арифметические операторы в C
  • Логические операторы в C
  • Условный оператор в C
  • Реляционные операторы в C
  • Операторы инкремента и декремента в C
  • Побитовые операторы в C
  • Операторы присваивания в C
  • Специальные операторы в C

В этой статье вы узнаете о побитовых операторах в C и о том, как их реализовать.

Что такое побитовый оператор?

Побитовый оператор в C — это тип оператора, который работает с битовыми массивами, битовыми строками и настраивает двоичные значения с отдельными битами на битовом уровне. Для обработки операций, связанных с электроникой и IoT, программисты используют побитовые операторы. Он может работать быстрее на битовом уровне.

Побитовый оператор в C выполняет свою операцию над отдельными битами своего операнда, где операнды являются значениями или выражениями, над которыми работает оператор. Эти операторы также используются для выполнения основных действий, а также высокоуровневых арифметических операций, которые требуют прямой поддержки процессора. Далее мы можем подразделить побитовые операторы на три подтипа в зависимости от принципов их работы: логические (побитовое И, ИЛИ и исключающее ИЛИ), сдвиг (правый сдвиг и сдвиг влево) и дополнение (побитовое НЕ).

В C существует шесть различных побитовых операторов . Эти:

· Побитовый оператор И (&)

· Побитовый оператор ИЛИ (|)

· Оператор побитового исключающего ИЛИ (^)

· Двоичное дополнение до единицы или оператор побитового НЕ (~)

· Оператор побитового сдвига влево (<<)

· Оператор побитового сдвига вправо (>>)

Используя побитовые операторы, программисты могут изменять отдельные биты любого значения, содержащегося в операнде. Мы можем рассматривать один байт компьютерной памяти как 8 бит, что означает истинное или ложное состояние 8 флагов. Побитовые операторы обычно применяются для определения значений флагов в операционных системах и драйверах. Например, в свойстве файла режим только для чтения концептуально выражается как бит флага в операционной системе, а побитовый оператор используется для переключения между значением true и false.

Вот таблица, которая показывает, как результаты вычисления побитовых операторов.

Икс у х и у х | у х ^ у
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

В C существует шесть различных типов побитовых операторов . Эти:

Побитовое И (&) в C: компилятор C распознает побитовое И с оператором &. Он принимает два операнда и выполняет операцию И для каждого бита двух номеров операндов. Это бинарный оператор. Результатом этого оператора будет 1, только если оба бита равны 1.

Побитовое ИЛИ (|) в C: компилятор C распознает побитовое ИЛИ с | оператор. Он принимает два операнда и выполняет операцию ИЛИ для каждого бита двух номеров операндов. Это также бинарный оператор. Результатом этого оператора будет 1, если любой из двух битов равен 1.

Побитовое XOR (^) в C: компилятор C распознает побитовое XOR с оператором ^. Он принимает два операнда и выполняет операцию XOR для каждого бита двух номеров операндов. Это также бинарный оператор. Результатом этого оператора будет 1, если оба бита имеют разные значения.

Двоичное дополнение до единицы или оператор побитового НЕ (~) в C: компилятор C распознает побитовое НЕ с оператором ~. Он принимает только один операнд и выполняет инвертирование всех его цифр. Это унарный оператор. Вывод этого оператора инвертирует все существующие биты этого операнда.

Побитовый оператор сдвига влево (<<) в C: компилятор C распознает операцию сдвига влево с помощью этого <<. Он принимает только два операнда и сдвигает все биты первого операнда влево. Второй операнд определяет, на сколько позиций этот оператор сдвинет свои биты. Это бинарный оператор.

Побитовый оператор сдвига вправо (>>) в C: компилятор C распознает операцию сдвига влево с помощью этого >>. Он принимает только два операнда и сдвигает все биты первого операнда вправо. Второй операнд определяет, на сколько позиций этот оператор сдвинет свои биты. Это бинарный оператор.

Читайте: Операторы в Python: руководство для начинающих по арифметике, реляционным, логическим и другим функциям

Программа для побитового оператора в C

Давайте теперь посмотрим на программу, использующую все побитовые операторы.

#include <stdio.h>

основной ()

{

беззнаковый символ х = 20, у = 21; // х = 20 (00010100), у = 21 (00010101)

инт г = 0;

г = х и у; /* 20 = 010100 */

printf("Результатом побитового И является %d \n", g );

г = х | у; /* 21 = 010101 */

printf("Результатом побитового ИЛИ является %d \n", g );

г = х ^ у; /* 1 = 0001 */

printf("Результатом побитового XOR является %d \n", g );

г = ~х;

printf("Результатом побитового НЕ является %d \n", g );

г = х << 1;

printf("Результат побитового сдвига влево : %d \n", g );

г = х >> 1;

printf("Результат побитового сдвига вправо: %d \n", g );

вернуть 0;

}

ВЫХОД:

Результат побитового И равен 20

Результат побитового ИЛИ равен 21.

Результат побитового XOR равен 1

Результат побитового НЕ равен -21.

Результат побитового сдвига влево равен 40

Результат побитового сдвига вправо равен 10

Читайте также: Учебник по Python: настройка, инструменты, функции, приложения, преимущества, сравнение

Заключение

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

upGrad предлагает программирование на C и многое другое благодаря диплому upGrad PG в области разработки программного обеспечения со специализацией в разработке полного стека . Программа, которая поможет вам стать полноценным разработчиком и научиться создавать потрясающие приложения. Это обширная 12-месячная программа, которая включает в себя работу над реальными проектами и заданиями, а также обучение 15 языкам программирования и инструментам. Наряду с этим, у него есть постоянная карьерная поддержка с фиктивными собеседованиями и помощью в трудоустройстве.

Получите работу своей мечты

ОБНОВЛЕНИЕ И ДИПЛОМ PG IIIT-BANGALORE В ПОЛНОМ СОСТАВЕ
Зарегистрируйтесь сегодня