1. Порозрядні логічні операції

Для відстеження стану різних програмних об’єктів можна використовувати біти змінних. Окрім того, бітові операції лежать в основі обробки цифрових сигналів. За допомогою цих операцій  можемо з одного чи декількох сигналів на вході одержати новий сигнал.
На базі платформи Intel 1 байт=8 біт інформації. Кожен біт може приймати значення 0 або 1. Таким чином, у кожному байті може бути закодовано будь-яке ціле число від 0 до 255, оскільки 28=256. Біти в байті нумерують від нуля справа наліво ().

Порозрядні (побітові) операції можна виконувати з будь-якими цілими змінними та константами. Ці дії не застосовують до змінних типу float та double. Результатом побітових операцій завжди є ціле число.
У таблиці наведено побітові логічні операції, що застосовують у мові програмування С.

Таблиця - Порозрядні логічні операції

Назва операції Позначення Приклад використання
«І» /AND (логічне множення).
Результат дорівнює 1 у випадку, коли обидва біти встановлені в 1
&

Задача: Погасити четвертий та сьомий біти у числа 153.

int a = 153;                    // 10011001
char mask = 15;            // 00001111
printf("%d",a&mask);  // 00001001

«АБО» / OR (логічне додавання)
Результат операції дорівнює 1, якщо хоча б в одному з
чисел біт встановлений в 1
|

Задача: У першому та другому біті числа 153 встановити одиниці.

int a = 153;                   // 10011001
char mask = 15;            // 00001111
printf("%d",a|mask);    // 10011111

Виключне «АБО» / XOR 
повертає 1 у випадку, коли біти не однакові
^

Задача: У числі 153 погасити нульовий та третій біти і ввімкнути перший та другий.

int a = 153;                  // 10011001
char mask = 15;          // 00001111
printf("%d",a^mask);  // 10010110

«НІ» / NOT
Інвертує біти, тобто змінює їх значення на протилежне
~

Задача: Інвертувати біти числа 153.

int a = 153;          //000010011001
printf("%d",~a);   //111101100110

Змінна mask - бітовий шаблон, який використовують для роботи з потрібними бітами. Це може бути будь-яке ціле число, але для того, щоб іншим програмістам було зрозуміло, навіщо потрібне це число, слід записати його двійковий код у коментарях.

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0