logo

Bittikohtaiset operaattorit C++:ssa

C++:ssa on useita operaattoreita. Jokaisella operaattorilla on tietty symboli sekä suoritettava toiminto. Meillä on erilaisia ​​C++-operaattoreita.

  1. Aritmeettiset operaattorit
  2. Relaatiooperaattorit
  3. Loogiset operaattorit
  4. Tehtäväoperaattorit
  5. Bittikohtaiset operaattorit

Tässä artikkelissa opimme Bitwise-operaattoreista C++:ssa.



C++ Bitwise-operaattorit

Bittioperaattorit ovat operaattoreita, joita käytetään suorittamaan operaatioita bittitasolla kokonaisluvuilla. Tätä toimintoa suoritettaessa kokonaislukuja pidetään binäärilukujen sarjoina. C++:ssa meillä on erilaisia ​​Bitwise-operaattoreita.

  1. Bittikohtainen JA (&)
  2. Bittikohtainen TAI (|)
  3. Bittikohtainen XOR (^)
  4. Bittikohtaisesti EI (~)
  5. Vasen vaihto (<<)
  6. Oikea vaihto (>>)

1. Bittikohtainen JA (&)

Bittikohtainen JA-toiminto suoritetaan kahden kokonaisluvun välillä. Se vertaa jokaista bittiä samassa paikassa ja tulosbitti asetetaan vain (1) ja vain jos molemmat vastaavat bitit on asetettu (1). Bittikohtaisen JA-operaation suorittamiseen käytetty symboli on &.

lajittelu Javassa arraylistissa

Esimerkki : Suoritamme bittioperaation kahden luvun 7 ja 4 välillä. Binäärissä 7 esitetään muodossa 111 ja 4 esitetään 100:na.

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

Kuten yllä olevassa esimerkissä näemme, vain ne bitit ovat asetettuja bittejä, joiden vastaavat bitit (molemmat) on asetettu. Siksi 7&4=4

2. Bittikohtainen TAI (|)

Jos Bitwise TAI -operaatio suoritetaan kahden kokonaisluvun välillä, se vertaa jokaista bittiä samassa paikassa ja tulosbitti asetetaan (1), jos jokin vastaavista biteistä asetetaan (1). Symboli, jota käytetään suorittamaan bittikohtainen TAI -toiminto, on |.

Esimerkki: suoritamme bittikohtaisen TAI -operaation kahden luvun 7 ja 4 välillä. binäärimuodossa 7 esitetään 111:nä ja 4 esitetään 100:na.

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

Kuten yllä olevassa esimerkissä näemme, ne bitit ovat asetettuja bittejä, joille on asetettu vähintään yksi vastaava bitti. Siksi 7|4=7.

3. Bittikohtainen XOR (^)

Jos Bitwise XOR-operaatio suoritetaan kahden kokonaisluvun välillä, se vertaa jokaista bittiä samassa paikassa ja tulosbitti asetetaan (1), jos jokin vastaavista biteistä eroaa, eli yhden niistä pitäisi olla 1 ja toisen tulee olla nolla. Symboli, jota käytetään suorittamaan bittikohtainen XOR-toiminto, on ^.

chmod 755

Esimerkki: suoritamme bittikohtaisen XOR-operaation kahden luvun 7 ja 4 välillä. binäärissä 7 esitetään 111:nä ja 4 esitetään 100:na.

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

Kuten yllä olevassa esimerkissä näemme, ne bitit ovat asetettuja bittejä, joiden vastaavat bitit ovat erilaisia. Siksi 7^4=3.

4. Bittikohtaisesti EI (~)

Bitwise NOT -toiminto suoritetaan yhdelle numerolle. Se muuttaa nykyisen bitin komplementiksi, eli jos nykyinen bitti on 0, se on tuloksena 1 ja jos nykyinen bitti on 1, siitä tulee 0. Sitä merkitään symbolilla ~.

Esimerkki: Suoritamme bittikohtaisen NOT-operaation numerolle 4. Numero 4 esitetään binäärimuodossa 100.

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

Kuten tuloksesta nähdään, ne bitit, joiden alkuarvo oli 1, ovat tuloksessa 0 ja päinvastoin. Siksi Bitwise EI numerosta 4 on 3.

5. Vasen vaihto (<<)

Tämä operaattori siirtää kokonaisluvun bitit vasemmalle tietyllä numerolla (Kuten mainittiin). Tämä vasemmalle siirtooperaatio vastaa kokonaisluvun kertomista kahdella siirrettyjen paikkojen potenssilla. Symboli, jota käytetään edustamaan vasenta vuorooperaattoria, on <<.

Esimerkki: Oletetaan, että meillä on kokonaisluku 5, ja siirrämme sen bittejä vasemmalle 2 paikkaa. Toiminto esitetään muodossa x << 2.

Numero 5 esitetään binäärimuodossa 101. Lisäämme alkuun muutamia nollia siirtääksemme bittejä vasemmalle. Siksi se esitetään muodossa 00000101. Nyt siirrämme kaikki bitit kaksi paikkaa vasemmalle ja täytämme tyhjät paikat 0:lla. Siksi siitä tulee 00010100, joka on 20 . Kuten aiemmin mainittiin, luvun siirtäminen vasemmalle kahdella bitillä tarkoittaa sen kertomista kahdella korotettuna 2:ksi, joka on 4. 5*4 = 20 osoittaa edellä mainitun väitteen.

6. Oikea vaihto (>>)

Tämä operaattori siirtää kokonaisluvun bitit oikealle tietyllä numerolla (Kuten mainittiin). Tämä oikealle siirtooperaatio vastaa kokonaisluvun jakamista kahdella siirrettyjen paikkojen tehomäärällä. Symboli, jota käytetään edustamaan vasenta vuorooperaattoria, on>>.

Esimerkki: Oletetaan, että meillä on kokonaisluku 16, ja siirrämme sen bittejä oikealle 2 paikkaa. Toiminto esitetään muodossa x>> 2.

Numero 16 esitetään binäärimuodossa 10 000. Lisäämme alkuun nollia siirtääksesi bittejä oikealle. Siksi se esitetään muodossa 00010000. Nyt siirrämme kaikki bitit kaksi paikkaa oikealle ja täytämme tyhjät paikat 0:lla. Siksi siitä tulee 00000100, joka on 4 . Kuten aiemmin mainittiin, luvun siirtäminen oikealle kahdella bitillä tarkoittaa sen jakamista kahdella korotettuna 2:ksi, joka on 4. 16*4 = 4 esittää edellä mainitun väitteen.

merkkijono jsonobject

C++-ohjelman bittikohtaiset operaattorit

Alla aiheen toteutus:

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;  // Tulosten tulostaminen // 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;>

Lähtö:

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

Johtopäätös

Yhteenvetona voidaan todeta, että Bitwise-operaattoreita käytetään suorittamaan operaatioita binääritasolla (bittitasolla). Meillä on erilaisia ​​Bitwise-operaattoreita kuten AND, OR, XOR, NOT, vasen siirto ja oikea siirtooperaattorit C++:ssa. Näillä toimenpiteillä yksittäisten bittien manipulointi voidaan tehdä erittäin tarkasti, mikä on välttämätöntä matalan tason tiedonkäsittelyssä.