Der er forskellige operatører til stede i C++. Hver operatør har et bestemt symbol såvel som en operation at udføre. Vi har forskellige kategorier af operatører i C++.
- Aritmetiske operatorer
- Relationelle operatører
- Logiske operatører
- Opdragsoperatører
- Bitwise operatører
I denne artikel lærer vi om Bitwise Operators i C++.
C++ Bitwise Operators
Bitwise Operators er de operatorer, der bruges til at udføre operationer på bitniveau på heltal. Mens du udfører denne operation, betragtes heltal som sekvenser af binære cifre. I C++ har vi forskellige typer Bitwise Operators.
- Bitvis OG (&)
- Bitvis ELLER (|)
- Bitwise XOR (^)
- Bitvist IKKE (~)
- Venstre skift (<<)
- Højre skift (>>)
1. Bitvis OG (&)
Bitvis OG-operation udføres mellem to heltal. Den sammenligner hver bit på den samme position, og resultatbitten vil kun blive sat(1) og kun hvis begge tilsvarende bit er sat(1). Symbolet som bruges til at udføre bitvis OG-operation er &.
Eksempel : vi udfører en Bitwise-operation mellem to tal 7 og 4. I binær vil 7 blive repræsenteret som 111, og 4 vil blive repræsenteret som 100.
1 1 1 & 1 0 0 ------ 1 0 0>
som vi kan se i ovenstående eksempel, er kun de bits sæt bits, hvis tilsvarende bit (begge) er sat. Derfor 7&4=4
2. Bitvis ELLER (|)
Hvis bitvis ELLER-operation udføres mellem to heltal, vil den sammenligne hver bit på samme position, og resultatbitten vil blive sat(1), hvis nogen af de tilsvarende bit er sat(1). Symbolet, der bruges til at udføre bitvis ELLER-operation, er |.
Eksempel: vi vil udføre bitvis ELLER-operation mellem to tal 7 og 4. i binær vil 7 blive repræsenteret som 111 og 4 vil blive repræsenteret som 100.
1 1 1 | 1 0 0 ------ 1 1 1>
som vi kan se i ovenstående eksempel, er disse bits sæt bits, hvis mindst en hvilken som helst tilsvarende bit er sat. Derfor 7|4=7.
3. Bitwise XOR (^)
Hvis bitvise XOR-operation udføres mellem to heltal, vil den sammenligne hver bit på samme position, og resultatbitten vil blive sat(1), hvis nogen af de tilsvarende bits adskiller sig, dvs. en af dem skal være 1 og den anden skal være nul. Symbolet, der bruges til at udføre bitvise XOR-operation, er ^.
Eksempel: vi udfører bitvise XOR-operation mellem to tal 7 og 4. i binær vil 7 blive repræsenteret som 111 og 4 vil blive repræsenteret som 100.
1 1 1 ^ 1 0 0 ------ 0 1 1>
som vi kan se i ovenstående eksempel, er disse bits sætbits, hvis tilsvarende bits er forskellige. Derfor 7^4=3.
4. Bitvis IKKE (~)
Bitwise NOT-operationen udføres på et enkelt tal. Den ændrer den aktuelle bit til dens komplement, dvs. hvis den nuværende bit er 0, så vil den i resultatet være 1, og hvis den nuværende bit er 1, bliver den 0. Det er angivet med symbolet ~.
Eksempel: Vi udfører bitvis NOT Operation på nummer 4. Tallet 4 er repræsenteret som 100 i binært.
~ 1 0 0 ------ 0 1 1>
Som vi kan se i resultatet er bits, hvis startværdi var 1, 0 i resultat og omvendt. Derfor vil Bitwise IKKE af nummer 4 være 3.
5. Venstre skift (<<)
Denne operator flytter bits af heltal til venstre med et specifikt tal (Som nævnt) . Denne venstreforskydningsoperation svarer til at multiplicere hele tallet med 2 potenser antallet af forskudte positioner. Symbolet, der bruges til at repræsentere venstreskifteoperatør, er <<.
Eksempel: Overvej, at vi har et heltal 5, og vi vil venstreforskyde dets bits med 2 positioner. Operationen vil blive repræsenteret som x << 2.
Tallet 5 er repræsenteret som 101 i binær. Vi tilføjer nogle nuller i begyndelsen for at flytte bitsene til venstre. Derfor vil det blive repræsenteret som 00000101. Nu vil vi flytte alle bits to positioner til venstre, og vi vil udfylde de tomme positioner med 0. Derfor bliver det 00010100, hvilket er 20 . Som tidligere nævnt venstreforskydning af tallet med to bit betyder at gange det med 2 hævet til 2, hvilket er 4. 5*4 = 20 viser ovennævnte udsagn.
6. Højre skift (>>)
Denne operator flytter bits af heltal til højre med et specifikt tal (Som nævnt) . Denne højreforskydningsoperation svarer til at dividere hele tallet med 2 potenser antallet af forskudte positioner. Symbolet, der bruges til at repræsentere venstreskifteoperatør, er>>.
Eksempel: Overvej, at vi har et heltal 16, og vi vil højreforskyde dets bits med 2 positioner. Operationen vil blive repræsenteret som x>> 2.
Tallet 16 er repræsenteret som 10000 i binært. Vi tilføjer nogle nuller i begyndelsen for at flytte bitsene til højre. Derfor vil det blive repræsenteret som 00010000. Nu vil vi flytte alle bits to positioner til højre, og vi vil fylde de tomme positioner med 0. Derfor bliver det 00000100, hvilket er 4 . Som nævnt tidligere betyder højreforskydning af tallet med to bit at dividere det med 2 hævet til 2, hvilket er 4. 16*4 = 4 viser ovennævnte udsagn.
C++ Program Bitwise Operators
Nedenfor er implementeringen af emnet:
C++ // C++ Program to demonstrate // Bitwise Operator #include using namespace std; // Main function int main() b; // Bitwise XOR int bitwise_xor = a ^ b; // Bitwise NOT int bitwise_not = ~a; // Bitwise Left Shift int left_shift = a << 2; // Bitwise Right Shift int right_shift = a>> 1; // Udskrivning af resultaterne af // Bitwise Operators cout<< 'AND: ' << bitwise_and << endl; cout << 'OR: ' << bitwise_or << endl; cout << 'XOR: ' << bitwise_xor << endl; cout << 'NOT a: ' << bitwise_not << endl; cout << 'Left Shift: ' << left_shift << endl; cout << 'Right Shift: ' << right_shift << endl; return 0;>
Produktion:
AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>
Konklusion
Som konklusion bruges Bitwise Operators til at udføre operationer på binært (bit) niveau. Vi har forskellige slags bitvise operatører som AND, OR, XOR, NOT, venstre skift og højre skift operatører i C++. Ved denne operation kan manipulation af individuelle bits udføres meget præcist, hvilket er essentielt ved datahåndtering på lavt niveau.