Bitsgewijze operators in C Language

Bitwise Operators C Language



Bitsgewijze operators, vaak bekend als codering op bitniveau, zijn verworpen om gegevens alleen op bitniveau te interpreteren. Bitwise voert bewerkingen uit op één of zelfs aanvullende bitpatronen en binaire getallen op bitniveau. Deze zijn gebruikt om het schattingsproces van numerieke berekeningen te versnellen. Het bestaat uit twee getallen, waarvan de ene 0 is en de andere 1. Hier zijn enkele bitsgewijze operatoren die we in ons artikel zullen bespreken.

Log in vanaf uw Linux-systeem en probeer de sneltoets Ctrl+Alt+T om de consoleterminal te openen. We zullen enkele voorbeelden hebben om de bewerkingen van bitsgewijze operatoren in de C-taal uit te werken. Laten we elke bitsgewijze operator afzonderlijk nader uitwerken.







Bitgewijs EN:

De bitsgewijze operator is gebruikt om een ​​bit te repliceren naar het resultaat als dat bit aanwezig is in beide wederzijdse operanden. C of C++ vereist 2 operanden die AND uitvoeren op elk bit van die twee gehele getallen. Bitsgewijze EN resultaten 1 wanneer beide bits een waarde van 1 hebben. Dus, om de werking te begrijpen, maak en open een C-type bestand met behulp van de Nano-editor. Daarvoor moeten we nano-instructies in de shell als volgt consumeren:



$nanotest.c



De code voor de Bitwise AND-operator is weergegeven in de onderstaande afbeelding. Het enige wat u hoeft te doen is deze code gewoon in uw GNU nano-editorbestand test.c te schrijven zoals het is. Deze code heeft de stdio.h-headerbibliotheek zonder welke we de codering niet kunnen uitvoeren in C-programmering. Vervolgens hebben we een hoofdmethode gemaakt met het retourtype als geheel getal. In de C-taal gebeurt de uitvoering van de code via de hoofdmethode. We hebben dus twee variabelen van het type integer, x en y, gedeclareerd met de waarden 35 en 13 dienovereenkomstig. Daarna is een andere integer-variabele gespecificeerd met nul als waarde. We zullen de eerste twee integer-variabelen gebruiken en daartussen de bitsgewijze AND-operator toepassen. Dit werk is gedaan op de volgende regel waar de AND-operator is gebruikt als &, en de resulterende waarde wordt opgeslagen in de nulvariabele z. Vervolgens hebben we de printopdracht gebruikt om de resulterende waarde in het terminalscherm weer te geven, en de hoofdmethode wordt gesloten. Sla uw bestand op met de GNU-sneltoets Ctrl+S en sluit vervolgens de nano-editor af via Ctrl+X vanaf de typemachine op het toetsenbord.





Het is dus het moment om de bovenstaande code te compileren na het opslaan van het bestand. Gebruik de gcc-instructie in uw console-shell terwijl u de naam van een bestand gebruikt als test.c of hoe u het bestand ook noemt en druk op de Enter-toets. U kunt zien dat er geen fout wordt weergegeven; dit betekent dat de code handmatig correct is.



$gcctest.c

Nadat de code is gecompileerd, is het nu tijd om de code uit te voeren. Voer hiervoor de onderstaande query uit in de shell. De uitvoer toont 1 als uitkomst. Dit betekent dat onze beide integer-variabelen 1 hebben in een van hun bits. Dit is waarom het 1 teruggeeft.

$./a.uit

Bitgewijs OF:

Nu is het zover dat de bitsgewijze OR-operator moet worden uitgewerkt. De bitsgewijze operator retourneert 1 als resultaat wanneer een van zijn bits 1 is. Als beide bits van twee gehele getallen 0 zijn, levert dit 0 op. Nadat alle bits zijn verkregen, wordt er een reeks bits gegenereerd. We moeten zien wat dat aantal die bits vormden. Open dus eerst hetzelfde test.c-document. Typ en sla de onderstaande code op in het GNU-bestand met behulp van de Ctrl+S-toets. De code is bijna hetzelfde als het bovenstaande bitsgewijze AND-operatorvoorbeeld. Deze keer hebben we zojuist de waarde van integer x gewijzigd in 47, en hebben we de OR-operator gebruikt, b.v. | tussen beide variabelen. Sluit het bestand om de code te compileren.

Na het succesvol uitvoeren van het document test.c, toont het de 47 output bit.

$./a.uit

Bitsgewijze XOR:

De bitsgewijze operator retourneert 1 wanneer beide nummerbits verschillend zijn. Dus als de bits hetzelfde zijn, levert het 0 op. Het operatorteken ^ vertegenwoordigt de bitsgewijze operator. Dus nogmaals, open het document en schrijf dezelfde oude code in de GNU-bestandseditor. Deze keer hebben we de operatoren ^ gebruikt binnen twee integer-variabelen, en het resultaat wordt opgeslagen in de z-variabele tijdens het afdrukken in de terminal.

Compileren en uitvoeren van het bestand test.c retourneert 34 als resultaat. Dit betekent dat het nieuwe integer 34 wordt gegenereerd nadat de XOR-operator is toegepast op twee integer-variabelen.

$./a.uit

Bitsgewijze aanvulling:

Deze operator wordt alleen toegepast op een enkele variabele en zal de waarde van het bitnummer terugdraaien. Het verandert bijvoorbeeld de 0 bit in 1 en 1 in 0 bit. Schrijf dezelfde code in hetzelfde bestand maar met een kleine wijziging op regel 6. We hebben het omgekeerde van x aan z toegewezen.

Compileer het bestand en voer het uit. In C is het resultaat van Bitwise-complement verhoogd met 1 met een negatief teken.

Operator linkerploeg:

Het zal de plaats van bits tot op zekere hoogte verschuiven. Dezelfde code kan worden weergegeven in de onderstaande afbeelding. In dit voorbeeld schuiven we 2 bits naar links.

De uitvoer toont de 188 als een nieuw gegenereerde waarde.

$./a.uit

Rechter Shift Operator:

Het werkt hetzelfde als de linkerploeg, maar in de tegenovergestelde richting, zoals weergegeven in de onderstaande code.

Deze keer hebben we 11 als uitvoer bij het verschuiven van 2 bits naar de rechterkant.

$./a.uit

Conclusie:

We hebben in dit artikel alle basis 6 bitsgewijze operators in onze C-taalcode behandeld. Ik hoop dat je krijgt wat je wilde van onze gids.