Bitikeelsed operaatorid C keeles

Bitwise Operators C Language



Bitipõhised operaatorid, mida sageli nimetatakse bititaseme kodeerimiseks, on eraldatud andmete tõlgendamiseks ainult bittide tasemel. Bitwise teostab toiminguid ühe või isegi täiendava bitimustri ja binaarsete numbritega bititasandil. Neid on kasutatud arvuliste arvutuste prognoosimise kiirendamiseks. See koosneb kahest numbrist, millest üks on 0 ja teine ​​on 1. Siin on mõned bitipõhised operaatorid, mida me oma artiklis arutame.

Logige sisse oma Linuxi süsteemist ja proovige konsooli terminali avamiseks Ctrl+Alt+T otsetee. Meil on mõned näited C -keeles bitipõhiste operaatorite toimingute kohta. Täpsustame iga bitipõhist operaatorit eraldi.







Bititi JA:

Bittide operaatorit on kasutatud tulemuse natuke kopeerimiseks, kui see bitt on mõlemas vastastikuses operandis. C või C ++ nõuab 2 operandi, mis täidavad JA -d nende kahe täisarvu mõlemal bitil. Bittide arv AND annab tulemuse 1, kui mõlema biti väärtus on 1. Nii et töö mõistmiseks looge ja avage C -tüüpi fail Nano -redaktori abil. Selleks peame kestas kasutama nano -juhiseid järgmiselt:



$nanotest.c



Bitwise AND operaatori kood on kuvatud alloleval pildil. Peate lihtsalt kirjutama selle koodi oma GNU nanoredaktori faili test.c sellisena, nagu see on. Sellel koodil on päisteek stdio.h, ilma milleta ei saa me C -programmeerimisel kodeerimist teha. Seejärel oleme loonud põhimeetodi, mille tagastustüüp on täisarv. C -keeles toimub koodi täitmine põhimeetodi abil. Seega oleme deklareerinud kaks täisarvulist muutujat, x ja y, vastavalt väärtustega 35 ja 13. Pärast seda on määratud veel üks täisarvuline muutuja, mille väärtus on null. Kasutame kahte esimest täisarvulist muutujat ja rakendame nende vahel bitipõhise JA -operaatori. See töö on tehtud järgmisel real, kus AND -operaatorit on kasutatud & -na, ja saadud väärtus salvestatakse nullmuutuja z. Seejärel oleme kasutanud printimislauset, et kuvada terminali ekraanil saadud väärtus ja peamine meetod sulgub. Salvestage fail GNU otsetee Ctrl+S abil ja seejärel sulgege klaviatuurimasinast Ctrl+X abil nanoredaktor.





Niisiis, on aeg koostada ülaltoodud kood pärast faili salvestamist. Kasutage gcc juhiseid oma konsooli kestas, kui kasutate faili nime test.c või mis iganes faili nimetasite ja vajutage sisestusklahvi. Näete, et see ei näita viga; see tähendab, et kood on käsitsi õige.



$gcctest.c

Pärast koodi koostamist on aeg kood nüüd käivitada. Selleks käivitage allpool toodud päring kestas. Väljund näitab tulemuseks 1. See tähendab, et meie kõigi täisarvuliste muutujate bittides on 1. Seetõttu naaseb 1.

$./a. välja

Bititi VÕI:

Nüüd on välja töötatud bitipõhine VÕI operaator. Bittide operaator tagastab tulemuseks 1, kui üks selle bitidest on 1. Kui kahe täisarvu mõlemad bitid on 0, annab see tulemuseks 0. Pärast kõigi bittide saamist genereeritakse bittide komplekt. Peame vaatama, mis numbri need bitid moodustasid. Niisiis, avage esmalt sama test.c dokument. Sisestage ja salvestage allpool näidatud kood GNU-faili, kasutades klahvi Ctrl+S. Kood on peaaegu sama, mis ülaltoodud bitipõhise JA operaatori näites. Seekord muutsime äsja täisarvu x väärtuseks 47 ja kasutasime operaatorit OR, nt. | mõlema muutuja vahel. Koodi koostamiseks sulgege fail.

Pärast dokumendi test.c edukat täitmist näitab see 47 väljundbitti.

$./a. välja

Bitipõhine XOR:

Bittide operaator tagastab 1, kui mõlemad arvbittid on erinevad. Niisiis, kui bitid on samad, annab see väärtuse 0. Operaatori märk ^ tähistab bitist operaatorit. Nii et taas avage dokument ja kirjutage sama vana kood GNU failiredaktorisse. Seekord oleme kasutanud ^ -operaatoreid kahe täisarvulise muutuja piires ja tulemus salvestatakse terminalis printimise ajal muutuja z -sse.

Faili kompileerimine ja käivitamine test.c tagastab tulemuseks 34. See tähendab, et uus täisarv 34 genereeritakse pärast XOR -operaatori rakendamist kahele täisarvulisele muutujale.

$./a. välja

Bittide täiendus:

Seda operaatorit rakendatakse ainult ühele muutujale ja see tagastab biti numbri väärtuse. Näiteks muudab see 0 -bitiseks 1 -ks ja 1 -ks 0 -bitiseks. Kirjutage sama kood samasse faili, kuid veidi muutes reale 6. Oleme määranud x -i tagurpidi z -ks.

Kompileerige fail ja käivitage see. C -s on Bitwise komplemendi tulemust suurendatud 1 -ga negatiivse märgiga.

Vasaku vahetuse operaator:

See muudab mõnevõrra bittide asukohta. Sama koodi saab kuvada ka alloleval pildil. Selles näites nihutame 2 bitti vasakule.

Väljund näitab 188 kui värskelt loodud väärtust.

$./a. välja

Parempoolse vahetuse operaator:

See töötab samamoodi nagu vasakpoolne käik, kuid vastupidises suunas, nagu on näidatud allolevas koodis.

Seekord oleme saanud 2 bitti paremale poole nihutades väljundina 11.

$./a. välja

Järeldus:

Oleme selles artiklis käsitlenud kõiki 6 põhilist bittioperaatorit meie C -keelekoodis. Loodan, et saate meie juhendist selle, mida tahtsite.