Бит – это наименьшая единица возможных вычислений для заданных данных. Обычно все данные, даже их формы в КБ, МБ и т. д., в основном состоят из битов, а затем биты в основном состоят из двоичных единиц и нулей.
Это все, что понимает компьютер, благодаря Джону фон Нейману, таким образом, в языке, известном как Си, и других языках становится возможной возможность ковыряться в этих 1 и 0, одним словом, где абстракция отброшена, и знание того, как преобразование из одной базы в другую становится решающим, где решение на бумаге становится гораздо более захватывающим, чем ожидание ответа компьютера, мир, в котором вы можете манипулировать 1 и 0, добро пожаловать в слово побитовой операции и нет вас ' не Нео.
Побитовая операция
Побитовые операции, согласно литературе и статьям, которые я читал, говорят, что битовая операция — это набор операций, которые можно использовать с двоичными числами для изменения их вывода или создания нового вывода.
Мотивация изучения побитовых операторов.
- Они веселые и крутые.
- мы можем быть Нео для разнообразия и манипулировать некоторыми двоичными числами
- Проф так сказал
- Битовые операторы используются для оптимизации встроенной системы
- Эксклюзивный или оператор может использоваться для подтверждения целостности файла, если он был поврежден.
- Побитовые операции используются при сжатии
- e.t.c
Побитовые операторы
Существуют следующие операторы
- &Побитовое И
- | Побитовое ИЛИ
- ^Побитовое исключающее ИЛИ
- ~Побитовое НЕ (дополнение)
- ‹‹ Сдвиг влево
- ›› Сдвиг вправо
Они могут звучать очень похоже на логические операторы AND &&, OR || и т. д., но это не так, это намного круче, с побитовыми операторами мы можем микроскопировать один бит и сказать ему, что мы хотим от него, повлиять на него, мы становимся привратниками 1 и 0, не должны пройти, за исключением того, что мы манипулировали или пощадили. извини!
Побитовый оператор И (&)
Оператор И вернет ИСТИНА (1) тогда и только тогда, когда оба операнда ИСТИНА, иначе он вернет ЛОЖЬ (0).
#include <stdio.h> int bitwise_and(unsigned int x, unsigned int y){ if (x <= 0) printf("%s", "FALSE"); return x & y; } int main (void) { unsigned int returned_and = bitwise_and(10, 12); printf("%d", returned_and); return (0); }
более подробно, я бы порекомендовал освежить ваше преобразование десятичного числа в двоичное, поскольку аргументы 10 и 12 преобразуются в их двоичную форму, после чего применяется И. ИЗВИНИТЕ МОИ НАВЫКИ РИСОВАНИЯ.
10 == 1 0 1 0
12 = 1 1 0 0
Применение И к обоим операндам в их двоичной форме вывода равно 1 0 0 0 == 8 🤯🤯🤯🤯
ПРИМЕЧАНИЕ. С этого момента я буду использовать 1 == 1 0 1 0 и 12 == 1 1 0 0 для отображения выходных данных других операторов. Спасибо.
Побитовый оператор ИЛИ (|)
Побитовое ИЛИ вернет ИСТИНА (1), если существует хотя бы один операнд с 1, иначе вернет 0.
#include <stdio.h> unsigned int bitwise_or(unsigned int x, unsigned int y) { if (x <= 0) printf("%s", "FALSE"); return (x | y); } int main (void) { printf("%d", bitwise_or(10, 12)); return (0); }
Побитовый оператор XOR (^)
Оператор XOR возвращает TRUE (1), если оба операнда различны, но если они одинаковы, он возвращает False (0).
#include <stdio.h> unsigned int bitwise_xor(unsigned int x, unsigned int y) { if (x <= 0) printf("%s", "FALSE"); return (x ^ y); } int main (void) { printf("%d", bitwise_xor(10, 12)); return (0); }
Побитовое НЕ (~) оператор
Not является унарным оператором, то есть он работает с одним операндом ~ операндом. Передает один из самых крутых операторов, таких как шпатель Губки Боба, он переворачивает биты на противоположное значение, 1 становится 0, 0 становится 1, день становится ночью, ночь становится днем, миссис Пафф становится Трампом, Губка Боб становится Обамой. Хаос!