Mga operator ng bitwise sa C Wika

Bitwise Operators C Language



Ang mga operator ng bitwise, na madalas na kilala bilang bit-level coding, ay na-cast-off upang bigyang kahulugan ang data sa antas lamang ng bit. Gumagawa ang Bitwise ng mga pagpapatakbo sa isa o kahit na karagdagang mga pattern ng bit at mga numero ng binary sa antas ng bit. Ginamit ang mga ito upang mapabilis ang paglala ng pagtatantya ng mga kalkulasyon ng bilang. Binubuo ito ng dalawang numero, ang isa sa mga ito ay 0 at ang isa pa ay 1. Narito ang ilang mga bitwise operator na tatalakayin namin sa aming artikulo.

Mag-login mula sa iyong Linux system at subukan ang Ctrl + Alt + T shortcut upang buksan ang terminal ng console. Mayroon kaming ilang mga halimbawa upang idetalye ang pagpapatakbo ng mga bitwise operator sa wikang C. Pag-elaborate natin nang magkahiwalay ang bawat operator ng kaunti.







Bitwise AT:

Ang bitwise operator ay ginamit upang magtiklop ng kaunti sa resulta kung ang bit na iyon ay naroroon sa parehong kapwa mga opera. Ang C o C ++ ay nangangailangan ng 2 pagpapatakbo na gumaganap AT sa bawat piraso ng dalawang integer na iyon. Bitwise AT kinalabasan 1 kapag ang parehong mga piraso ay may halagang 1. Kaya, upang maunawaan ang gumagana, lumikha at buksan ang isang C na uri ng file gamit ang Nano editor. Para doon, kailangan nating ubusin ang tagubilin ng nano sa shell tulad ng sumusunod:



$nanopagsubok.c



Ang code para sa Bitwise AT operator ay ipinakita sa imahe sa ibaba. Ang kailangan mo lang gawin ay isulat lamang ang code na ito sa iyong GNU nano editor file test.c kung ano ito. Ang code na ito ay mayroong stdio.h header library nang wala kung saan hindi namin magagawa ang pag-coding sa C programming. Pagkatapos ay lumikha kami ng isang pangunahing pamamaraan na may uri ng pagbabalik bilang integer. Sa wikang C, ang pagpapatupad ng code ay ginagawa sa pamamagitan ng pangunahing pamamaraan. Kaya idineklara namin ang dalawang variable ng uri ng integer, x at y, na may mga halagang 35 at 13 nang naaayon. Pagkatapos nito, ang isa pang variable ng integer ay tinukoy na may zero bilang halaga nito. Gagamitin namin ang unang dalawang variable ng integer at ilalapat ang bitwise AT operator sa pagitan nila. Ang gawaing ito ay nagawa sa susunod na linya kung saan ang AND operator ay ginamit bilang &, at ang resulta na halaga ay itatabi sa null variable z. Pagkatapos ay ginamit namin ang pahayag na naka-print upang ipakita ang resulta na halaga sa screen ng terminal, at magsara ang pangunahing pamamaraan. I-save ang iyong file gamit ang GNU shortcut Ctrl + S at pagkatapos ay umalis sa nano editor sa pamamagitan ng Ctrl + X mula sa keyboard typewriter.





Kaya, ito ang sandali upang ipagsama ang code sa itaas pagkatapos i-save ang file. Gamitin ang tagubilin ng gcc sa iyong console shell habang ginagamit ang pangalan ng isang file bilang test.c o anumang pinangalanan mo ang file at pindutin ang Enter key. Maaari mong makita na nagpapakita ito ng walang error; nangangahulugan ito na ang code ay manu-manong tama.



$gccpagsubok.c

Naipon ang code, oras na upang maipatupad ang code ngayon. Para sa hangaring ito, patakbuhin ang nakasaad na query sa ibaba sa shell. Ang output ay nagpapakita ng 1 bilang isang kinalabasan. Nangangahulugan ito na ang pareho ng aming variable ng integer ay may 1 sa isa sa kanilang mga piraso. Ito ang dahilan kung bakit ito nagbabalik ng 1.

$./a.out

Bitwise O:

Ngayon, ito ay naka-electate para sa bitwise O operator. Ang bitwise operator ay nagbabalik ng 1 bilang isang resulta kapag ang isa sa bit nito ay 1. Kung ang parehong mga piraso ng dalawang integer ay 0, pagkatapos ay magbubunga ng 0. Pagkatapos makuha ang lahat ng mga piraso, magkakaroon ng isang hanay ng mga piraso na nabuo. Kailangan nating makita kung anong numero ang nabuo ng mga piraso. Kaya, buksan muna ang parehong dokumento ng test.c. I-type at pagkatapos ay i-save ang ipinakitang code sa ibaba sa GNU file gamit ang Ctrl + S key. Ang code ay halos kapareho ng sa itaas ng bahagya AT halimbawa ng operator. Sa pagkakataong ito ay binago lamang namin ang halaga ng integer x sa 47, at ginamit namin ang operator ng OR, hal. | sa pagitan ng parehong mga variable. Itigil ang file upang maipon ang code.

Matapos matagumpay na maipatupad ang dokumento test.c, ipinapakita nito ang 47 output bit.

$./a.out

Bitwise XOR:

Ang bitwise operator ay nagbabalik ng 1 kapag pareho ang mga numero sa bit ay magkakaiba. Kaya't kapag ang mga piraso ay pareho, magbubunga ito ng 0. Ang ^ sign ng operator ay kumakatawan sa bitwise operator. Kaya't muli, buksan ang dokumento at isulat ang parehong lumang code sa GNU file editor. Sa oras na ito ay ginagamit namin ang ^ mga operator sa loob ng dalawang variable ng integer, at ang resulta ay maiimbak sa variable ng z habang nagpi-print sa terminal.

Compile and Running the file test.c return 34 bilang isang resulta. Nangangahulugan ito na ang bagong integer 34 ay nabuo pagkatapos na mailapat ang XOR operator sa dalawang variable ng integer.

$./a.out

Pagkumpleto ng Bitwise:

Ang operator na ito ay mailalapat lamang sa isang solong variable, at ibabalik nito ang halaga ng bit number. Halimbawa, babaguhin nito ang 0 bit sa 1 at 1 sa 0 bit. Isulat ang parehong code sa parehong file ngunit may kaunting pagbabago sa linya 6. Itinalaga namin ang reverse ng x to z.

Compile ang file at patakbuhin ito. Sa C, ang resulta ng Bitwise na pandagdag ay nadagdagan ng 1 na may negatibong pag-sign.

Left Shift Operator:

Ililipat nito ang lugar ng mga piraso sa ilang sukat. Maaaring ipakita ang parehong code sa naidugtong na imahe- sa ibaba. Sa halimbawang ito, lilipat kami ng 2 piraso sa kaliwa.

Ipinapakita ng output ang 188 bilang isang bagong nabuong halaga.

$./a.out

Tamang Shift Operator:

Gumagana ito pareho sa mga kaliwang shift na gumagana ngunit sa kabaligtaran na direksyon, tulad ng ipinakita sa code sa ibaba.

Sa oras na ito nakuha namin ang 11 bilang output sa paglipat ng 2 bits sa kanang bahagi.

$./a.out

Konklusyon:

Saklaw namin ang lahat ng pangunahing 6 na bitwise operator sa aming code sa wikang C sa artikulong ito. Inaasahan kong makuha mo ang nais mo mula sa aming gabay.