Det er forskjellige operatører til stede i C++. Hver operatør har et spesielt symbol i tillegg til en operasjon å utføre. Vi har ulike kategorier av operatører i C++.
- Aritmetiske operatorer
- Relasjonelle operatører
- Logiske operatører
- Oppdragsoperatører
- Bitvise operatører
I denne artikkelen vil vi lære om Bitwise Operators i C++.
C++ bitvise operatører
Bitvise operatorer er operatorene som brukes til å utføre operasjoner på bitnivå på heltallene. Når du utfører denne operasjonen, betraktes heltall som sekvenser av binære sifre. I C++ har vi ulike typer Bitwise Operators.
- Bitvis OG (&)
- Bitvis ELLER (|)
- Bitvis XOR (^)
- Bitvis IKKE (~)
- Venstre skift (<<)
- Høyre skift (>>)
1. Bitvis OG (&)
Bitvis OG-operasjon utføres mellom to heltall, den vil sammenligne hver bit på samme posisjon og resultatbiten vil bare settes(1) og bare hvis begge tilsvarende biter er satt(1). Symbolet som brukes til å utføre bitvis OG-operasjon er &.
Eksempel : vi vil utføre en bitvis operasjon mellom to tall 7 og 4. I binær vil 7 bli representert som 111 og 4 vil bli representert som 100.
1 1 1 & 1 0 0 ------ 1 0 0>
som vi kan se i eksemplet ovenfor er bare de bitene satt biter hvis tilsvarende biter (begge) er satt. Derfor 7&4=4
2. Bitvis ELLER (|)
Hvis bitvis ELLER-operasjon utføres mellom to heltall, vil den sammenligne hver bit på samme posisjon og resultatbiten vil bli satt(1) hvis noen av tilsvarende biter er satt(1). Symbolet som brukes til å utføre bitvis ELLER-operasjon er |.
Eksempel: vi vil utføre bitvis ELLER operasjon mellom to tall 7 og 4. i binær vil 7 bli representert som 111 og 4 vil bli representert som 100.
1 1 1 | 1 0 0 ------ 1 1 1>
som vi kan se i eksemplet ovenfor er disse bitene satt biter hvis minst en tilsvarende bit er satt. Derfor 7|4=7.
3. Bitvis XOR (^)
Hvis bitvis XOR-operasjon utføres mellom to heltall, vil den sammenligne hver bit på samme posisjon og resultatbiten vil bli satt(1) hvis noen av de tilsvarende bitene er forskjellige, dvs. en av dem skal være 1 og den andre skal være null. Symbolet som brukes til å utføre bitvis XOR-operasjon er ^.
Eksempel: vi vil utføre bitvis XOR-operasjon mellom to tall 7 og 4. i binær vil 7 bli representert som 111 og 4 vil bli representert som 100.
1 1 1 ^ 1 0 0 ------ 0 1 1>
som vi kan se i eksemplet ovenfor er disse bitene settbiter hvis tilsvarende biter er forskjellige. Derfor 7^4=3.
4. Bitvis IKKE (~)
Bitwise NOT-operasjonen utføres på et enkelt tall. Den endrer den nåværende biten til dens komplement, dvs. hvis gjeldende bit er 0, vil den i resultat bli 1, og hvis gjeldende bit er 1, vil den bli 0. Den er merket med symbolet ~.
Eksempel: Vi vil utføre bitvis NOT-operasjon på nummer 4. Tallet 4 er representert som 100 i binær.
~ 1 0 0 ------ 0 1 1>
Som vi kan se i resultatet er bitene hvis startverdi var 1 0 i resultat og omvendt. Derfor vil Bitvis IKKE av nummer 4 være 3.
5. Venstre skift (<<)
Denne operatoren flytter bitene av heltall til venstre side etter spesifikt tall (Som nevnt) . Denne venstreforskyvningsoperasjonen tilsvarer å multiplisere heltallet med 2 potenser antall posisjoner forskjøvet. Symbolet som brukes til å representere venstreskiftoperatør er <<.
Eksempel: Tenk på at vi har et heltall 5, og vi vil venstreforskyve bitene med 2 posisjoner. Operasjonen vil bli representert som x << 2.
Tallet 5 er representert som 101 i binær. Vi vil legge til noen nuller i begynnelsen for å forskyve bitene til venstre. Derfor vil det bli representert som 00000101. Nå vil vi flytte alle bitene to posisjoner til venstre og vi vil fylle de tomme posisjonene med 0. Derfor blir det 00010100 som er 20 . Som nevnt tidligere, venstreforskyvning av tallet med to bits betyr å multiplisere det med 2 hevet til 2 som er 4. 5*4 = 20 viser utsagnet ovenfor.
6. Høyre skift (>>)
Denne operatoren flytter bitene av heltall til høyre med spesifikt tall (Som nevnt) . Denne høyreforskyvningsoperasjonen tilsvarer å dele hele tallet med 2 potenser antall posisjoner forskjøvet. Symbolet som brukes til å representere venstreskiftoperatør er>>.
Eksempel: Tenk på at vi har et heltall 16, og vi vil høyreforskyve bitene med 2 posisjoner. Operasjonen vil bli representert som x>> 2.
Tallet 16 er representert som 10000 i binær. Vi vil legge til noen nuller i begynnelsen for å forskyve bitene til høyre. Derfor vil det bli representert som 00010000. Nå vil vi flytte alle bitene to posisjoner til høyre og vi vil fylle de tomme posisjonene med 0. Derfor blir det 00000100 som er 4 . Som nevnt tidligere, høyreforskyvning av tallet med to bits betyr å dele det med 2 hevet til 2 som er 4. 16*4 = 4 viser setningen ovenfor.
C++ Program Bitwise Operators
Nedenfor er implementeringen av 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; // Skrive ut resultatene av // 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;>
Produksjon:
AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>
Konklusjon
Avslutningsvis brukes Bitwise Operators til å utføre operasjoner på binært (bit) nivå. Vi har forskjellige typer bitvise operatører som AND, OR, XOR, NOT, venstre skift og høyre skift operatører i C++. Ved denne operasjonen kan manipulering av individuelle biter gjøres veldig nøyaktig, noe som er avgjørende for datahåndtering på lavt nivå.