Operatory bitowe w C [z przykładem kodowania]
Opublikowany: 2020-10-26Spis treści
Wstęp
Operatory są podstawowymi składnikami każdego języka programowania. Są to symbole używane do wykonywania pewnych logicznych, matematycznych lub innych operacji programistycznych. C zapewnia różne operatory do wykonywania wielu operacji, takich jak operacje arytmetyczne, logiczne i bitowe. W C istnieje osiem różnych typów operatorów. Są to:
- Operatory arytmetyczne w C
- Operatory logiczne w C
- Operator warunkowy w C
- Operatory relacyjne w C
- Operatory inkrementacji i dekrementacji w C
- Operatory bitowe w C
- Operatory przypisania w C
- Operatorzy specjalni w C
W tym artykule dowiesz się o operatorach bitowych w C i jak je zaimplementować.
Co to jest operator bitowy?
Operator bitowy w języku C to typ operatora, który działa na tablicach bitów, ciągach bitów i dostrajaniu wartości binarnych za pomocą poszczególnych bitów na poziomie bitowym. Do obsługi elektroniki i operacji związanych z IoT programiści używają operatorów bitowych. Może działać szybciej na poziomie bitowym.
Operator bitowy w C wykonuje swoją operację na poszczególnych bitach swojego operandu, gdzie operandy są wartościami lub wyrażeniami, na których operuje operator. Operatory te są również używane do wykonywania podstawowych działań, a także operacji arytmetycznych wysokiego poziomu, które wymagają bezpośredniego wsparcia procesora. Możemy dalej podzielić operatory bitowe na trzy podtypy w oparciu o ich zasady działania: logiczne (Bitwise AND, OR i XOR), Shift (prawy Shift i lewy Shift) oraz Complement (Bitwise NOT).
W C istnieje sześć różnych operatorów bitowych . To są:
· Bitowy operator AND (&)

· Bitowy operator OR (|)
· Bitowy wyłączny operator OR (^)
· Binary One's Complement lub Bitwise NOT (~)
· Bitowy operator przesunięcia w lewo (<<)
· Bitowy operator przesunięcia w prawo (>>)
Używając operatorów bitowych, programiści mogą zmieniać poszczególne bity dowolnej wartości zawartej w operandzie. Możemy zobaczyć pojedynczy bajt pamięci komputera jako 8-bitów, które oznaczają prawdziwy lub fałszywy stan 8 flag. Operatory bitowe są zwykle stosowane do definiowania wartości flag w systemach operacyjnych i oprogramowaniu sterownika. Na przykład we właściwości pliku tryb tylko do odczytu jest koncepcyjnie wyrażony jako bit flagi w systemie operacyjnym, a operator bitowy służy do przełączania między wartością prawda i fałsz.
Oto tabela przedstawiająca wyniki obliczeń operatorów bitowych.
| x | tak | x i y | x | tak | x ^ y |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
W C istnieje sześć różnych typów operatorów bitowych . To są:
Bitowe AND (&) w C: Kompilator C rozpoznaje bitowe AND z operatorem &. Pobiera dwa operandy i wykonuje operację AND dla każdego bitu dwóch liczb operandów. Jest to operator binarny. Wynikiem tego operatora będzie 1 tylko wtedy, gdy oba bity mają wartość 1.
Bitowe OR (|) w C: kompilator C rozpoznaje bitowe OR za pomocą | operator. Pobiera dwa operandy i wykonuje operację OR dla każdego bitu dwóch liczb operandów. Jest to również operator binarny. Wynikiem tego operatora będzie 1, jeśli którykolwiek z dwóch bitów ma wartość 1.

Bitwise XOR (^) w C: Kompilator C rozpoznaje Bitwise XOR z operatorem ^. Pobiera dwa operandy i wykonuje operację XOR dla każdego bitu dwóch liczb operandów. Jest to również operator binarny. Wynikiem tego operatora będzie 1, jeśli oba bity mają różne wartości.
Binary One's Complement lub Bitwise NOT (~) w C: Kompilator C rozpoznaje Bitwise NOT z operatorem ~. Zajmuje tylko jeden operand i wykonuje odwrócenie wszystkich jego cyfr. Jest to operator jednoargumentowy. Wyjście tego operatora odwróci wszystkie istniejące bity tego operandu.
Bitowy operator przesunięcia w lewo (<<) w C: Kompilator C rozpoznaje operację przesunięcia w lewo z tym <<. Zajmuje tylko dwa operandy i przesuwa wszystkie bity pierwszego operandu w lewo. Drugi operand określa, o ile miejsc ten operator przesunie swoje bity. Jest to operator binarny.
Operator przesunięcia bitowego w prawo (>>) w C: Kompilator C rozpoznaje operację przesunięcia w lewo za pomocą tego >>. Zajmuje tylko dwa operandy i przesuwa wszystkie bity pierwszego operandu w prawo. Drugi operand określa, o ile miejsc ten operator przesunie swoje bity. Jest to operator binarny.
Przeczytaj: Operatory w Pythonie: Przewodnik dla początkujących po arytmetyce, relacjach, logice i nie tylko
Program dla operatora bitowego w C
Przyjrzyjmy się teraz programowi używającemu wszystkich operatorów bitowych.
#włącz <stdio.h>
int main()
{
znak bez znaku x = 20, y = 21; // x = 20 (00010100), y = 21 (00010101)
intg = 0;
g = x i y; /* 20 = 010100 */
printf(”Wynikiem bitowego AND to %d \n”, g );
g = x | y; /* 21 = 010101 */
printf(”Wynikiem bitowego OR jest %d \n”, g );
g = x ^ y; /* 1 = 0001 */
printf(”Wynikiem bitowego XOR jest %d \n”, g );
g = ~x;
printf(” Wynik Bitwise NOT to %d \n”, g );
g = x << 1;
printf(”Wynikiem bitowego przesunięcia w lewo jest %d \n”, g );
g = x >> 1;
printf(”Wynikiem bitowego przesunięcia w prawo jest %d \n”, g );
zwróć 0;
}
WYJŚCIE:
Wynik Bitwise AND to 20
Wynik bitowego OR to 21
Wynik Bitwise XOR to 1
Wynik Bitwise NOT to -21

Wynik bitowego przesunięcia w lewo to 40
Wynik bitowego przesunięcia w prawo to 10
Przeczytaj także: Samouczek Pythona: konfiguracja, narzędzia, funkcje, aplikacje, korzyści, porównanie
Wniosek
Operatory bitowe to szczególny typ operatorów w języku C, używany do programowania na poziomie bitów. Niezbędna jest znajomość użycia operatora bitowego, ponieważ zapewnia on wydajny sposób na zaoszczędzenie miejsca w reprezentowaniu danych. Programiści używają tych operatorów w różnych dziedzinach, takich jak programowanie systemów, programowanie wbudowane i projektowanie protokołów. Dlatego programiści muszą znać jego zastosowanie.
upGrad wprowadza programowanie w języku C i wiele więcej dzięki dyplomowi PG upGrad w specjalizacji programistycznej w zakresie pełnego rozwoju stosu . Program, który sprawi, że staniesz się pełnoprawnym programistą i nauczysz się tworzyć niesamowite aplikacje. Jest to rozbudowany 12-miesięczny program, który obejmuje pracę nad projektami i zadaniami na żywo, a także szkolenie 15 języków programowania i narzędzi. Wraz z nim zapewnia wsparcie w karierze przez cały czas z próbnymi rozmowami kwalifikacyjnymi i pomocą w pracy.
