logo

Bitu operatori programmā C++

C++ ir dažādi operatori. Katram operatoram ir konkrēts simbols, kā arī jāveic operācija. Mums ir dažādas C++ operatoru kategorijas.

  1. Aritmētiskie operatori
  2. Relāciju operatori
  3. Loģiskie operatori
  4. Piešķiršanas operatori
  5. Bitu operatori

Šajā rakstā mēs uzzināsim par Bitwise operatoriem C++.



C++ bitu operatori

Bitu operatori ir operatori, kas tiek izmantoti, lai veiktu darbības bitu līmenī ar veseliem skaitļiem. Veicot šo darbību, veseli skaitļi tiek uzskatīti par bināro ciparu sekvencēm. Programmā C++ mums ir dažāda veida Bitwise operatori.

  1. Bitu virzienā UN (&)
  2. Bitu virzienā VAI (|)
  3. Bitu XOR (^)
  4. Bitu veidā NAV (~)
  5. Pa kreisi Shift (<<)
  6. Pa labi Shift (>>)

1. Bitveida UN (&)

Bitu UN operācija tiek veikta starp diviem veseliem skaitļiem, tā salīdzinās katru bitu tajā pašā pozīcijā, un rezultāta bits tiks iestatīts tikai (1) un tikai tad, ja abi atbilstošie biti ir iestatīti (1). Simbols, kas tiek izmantots bitu UN operācijas veikšanai, ir &.

Piemērs : mēs veiksim bitveida darbību starp diviem skaitļiem 7 un 4. Binārajā gadījumā 7 tiks attēlots kā 111 un 4 tiks attēlots kā 100.

 1 1 1 & 1 0 0  ------  1 0 0>

kā mēs redzam iepriekš minētajā piemērā, tikai tie biti ir iestatīti biti, kuriem ir iestatīti atbilstošie biti (abi). Tāpēc 7&4=4

2. Bitveida VAI (|)

Ja operācija bitiem VAI tiek veikta starp diviem veseliem skaitļiem, tas salīdzinās katru bitu tajā pašā pozīcijā, un rezultāta bits tiks iestatīts (1), ja ir iestatīts kāds no atbilstošajiem bitiem (1). Simbols, kas tiek izmantots bitu VAI operācijas veikšanai, ir |.

java vietējais datums

Piemērs: mēs veiksim bitu VAI darbību starp diviem skaitļiem 7 un 4. binārajā 7 tiks attēlots kā 111 un 4 tiks attēlots kā 100.

 1 1 1 | 1 0 0  ------  1 1 1>

kā redzams iepriekšējā piemērā, tie biti ir iestatīti biti, kuriem ir iestatīts vismaz kāds atbilstošais bits. Tāpēc 7|4=7.

3. Bitu XOR (^)

Ja bitu XOR operācija tiek veikta starp diviem veseliem skaitļiem, tas salīdzinās katru bitu vienā un tajā pašā pozīcijā, un rezultāta bits tiks iestatīts (1), ja kāds no atbilstošajiem bitiem atšķiras, t.i., vienam no tiem jābūt 1, bet otram jābūt nullei. Simbols, kas tiek izmantots, lai veiktu bitu XOR operāciju, ir ^.

poo

Piemērs: mēs veiksim bitu XOR darbību starp diviem skaitļiem 7 un 4. binārajā 7 tiks attēlots kā 111 un 4 tiks attēlots kā 100.

 1 1 1 ^ 1 0 0  ------  0 1 1>

kā redzams iepriekšējā piemērā, tie biti ir iestatīti biti, kuru attiecīgie biti ir atšķirīgi. Tāpēc 7^4=3.

4. Bitveida NAV (~)

Darbība Bitwise NOT tiek veikta vienam skaitlim. Tas maina pašreizējo bitu uz tā papildinājumu, t.i., ja pašreizējais bits ir 0, tad rezultātā tas būs 1 un, ja pašreizējais bits ir 1, tad tas kļūs par 0. To apzīmē ar simbolu ~.

Piemērs: Mēs veiksim bitu NOT operāciju ar numuru 4. Skaitlis 4 tiek attēlots kā 100 binārā formā.

~ 1 0 0  ------  0 1 1>

Kā redzams rezultātā, biti, kuru sākotnējā vērtība bija 1, rezultātā ir 0 un otrādi. Tāpēc skaitļa 4 bitu virzienā NAV būs 3.

5. Pa kreisi Shift (<<)

Šis operators pārvieto veselā skaitļa bitus uz kreiso pusi ar noteiktu skaitli (kā minēts) . Šī nobīdes darbība pa kreisi ir līdzvērtīga vesela skaitļa reizināšanai ar 2 pakāpju pārvietoto pozīciju skaitu. Simbols, kas tiek izmantots, lai apzīmētu kreisās maiņas operatoru, ir <<.

Piemērs: Apsveriet, ka mums ir vesels skaitlis 5, un tā biti tiks pārvietoti pa kreisi par 2 pozīcijām. Darbība tiks attēlota kā x << 2.

Skaitlis 5 tiek attēlots kā 101 binārā formā. Lai bitus pārvietotu pa kreisi, sākumā pievienosim dažas nulles. Tāpēc tas tiks attēlots kā 00000101. Tagad mēs pārvietosim visus bitus divas pozīcijas pa kreisi un aizpildīsim tukšās pozīcijas ar 0. Tādējādi tas kļūs par 00010100, kas ir 20 . Kā minēts iepriekš, skaitļa nobīde pa kreisi par diviem bitiem nozīmē tā reizināšanu ar 2, kas palielināta līdz 2, kas ir 4. 5*4 = 20 parāda iepriekš minēto apgalvojumu.

6. Labā maiņa (>>)

Šis operators pārvieto vesela skaitļa bitus uz labo pusi pēc noteikta skaitļa (kā minēts) . Šī labās maiņas darbība ir līdzvērtīga vesela skaitļa dalīšanai ar 2 nobīdīto pozīciju skaitu. Simbols, kas tiek izmantots, lai attēlotu kreisās maiņas operatoru, ir>>.

r c valodā

Piemērs: Apsveriet, ka mums ir vesels skaitlis 16, un tā biti tiks pārvietoti pa labi par 2 pozīcijām. Darbība tiks attēlota kā x>> 2.

Skaitlis 16 ir attēlots kā 10 000 binārā formā. Mēs sākumā pievienosim dažas nulles, lai bitus pārvietotu pa labi. Tāpēc tas tiks attēlots kā 00010000. Tagad mēs pārvietosim visus bitus par divām pozīcijām pa labi un tukšās pozīcijas aizpildīsim ar 0. Tādējādi tas kļūs par 00000100, kas ir 4 . Kā minēts iepriekš, skaitļa nobīde pa labi par diviem bitiem nozīmē tā dalīšanu ar 2, kas palielināta līdz 2, kas ir 4. 16*4 = 4 parāda iepriekš minēto apgalvojumu.

C++ programmas bitu operatori

Zemāk ir tēmas īstenošana:

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;  // Rezultātu drukāšana // Bitwise operatori 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;>

Izvade:

AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>

Secinājums

Visbeidzot, bitu operatori tiek izmantoti, lai veiktu darbības binārā (bitu) līmenī. Mums ir dažāda veida Bitwise operatori, piemēram, UN, VAI, XOR, NOT, kreisās maiņas un labās maiņas operatori C++. Ar šīm darbībām var ļoti precīzi manipulēt ar atsevišķiem bitiem, kas ir būtiski zema līmeņa datu apstrādē.