logo

Skiftoperatører i C

Denne delen vil diskutere Bitwise shift-operatorene i programmeringsspråket c. Bitvis skiftoperator brukes til å forskyve de binære bitene enten i venstre retning eller høyre retning i henhold til programmets krav.

Skiftoperatører i C

Skiftoperatører er klassifisert i to typer basert på skifteposisjonen til bitene.

  1. Venstre skiftoperatør
  2. Høyre girskifter

Venstre skiftoperatør

Venstre skiftoperator er en type Bitwise skiftoperator, som utfører operasjoner på de binære bitene. Det er en binær operatør som krever to operander for å flytte eller flytte posisjonen til bitene til venstre side og legge til nuller til det tomme rommet som er opprettet på høyre side etter å ha flyttet bitene.

Syntaks

 var_name << no_of_position 

I syntaksen ovenfor representerer var_navn heltallsvariabelnavnet som venstre forskyvning (<<) operation is to be performed shift the binary bits at left side. and no_of_position variable represents number of placed or shifted in other words, operator shifts first operand on side by defined second operand.< p>

For eksempel er verdien av heltallsvariabelen num 22, og dens binære form er 10110. Nå bruker vi venstre skiftoperator for å forskyve de binære bitene 2, num = num << 2 lik num = num * (2 ^2). Og den nye verdien av num er 22* (2 ^ 2) = 88, som er lik den binære formen 1011000.

Eksempel 1: Program for å demonstrere bruken av venstreskiftoperatoren i C

 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use left shift operator to shift the bits num = (num &lt;&lt; 2); // It shifts two bits at the left side printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Produksjon

 Enter a positive number: 25 After shifting the binary bits to the left side. The new value of the variable num = 100 

Eksempel 2: Program for å bruke Left Shift-operatoren i de usignerte int-dataene til C

 #include int main () { // declare local variable unsigned int num = 0xff; // use left shift operator to shift the bits num = (num &lt;&lt; 2); printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Produksjon

 After shifting the binary bits to the left side. The new value of the unsigned variable num = 1020 

Eksempel 3: Program for å legge inn det positive tallet fra brukeren for å utføre venstreskiftoperatoren

 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the left side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use left shift operator to shift the bits num = (num &lt;&lt; bit); printf (&apos; 
 After shifting the bits to the left side. &apos;); printf (&apos; 
 The new value of the num = %d&apos;, num); return 0; } 

Produksjon

 Enter a positive number: 40 No. of binary bits shifted to the left side: 4 After shifting the bits to the left side. The new value of the num = 640 

I eksemplet ovenfor er den binære biten til det brukerdefinerte positive tallet 40 101000. Etter det tar vi 4 som tallet for å forskyve de binære bitene på venstre side. Og så skifter venstreforskyvningsoperatøren 4 binære biter på venstre side, og deretter opprettes plass på høyre side, som fylles eller legges til med 4 nuller til høyre side som returnerer den binære verdien 1010000000, som tilsvarer desimaltallet 640.

Høyre skiftoperatør

Høyre skiftoperator er en type bitvis skiftoperator som brukes til å flytte bitene på høyre side, og den er representert som det doble (>>) pilsymbolet. I likhet med venstreskiftoperatøren krever også høyreskiftoperatoren to operander for å forskyve bitene på høyre side og deretter sette inn nullene på det tomme rommet som er opprettet på venstre side etter å ha forskjøvet bitene.

Syntaks

 var_name &gt;&gt; no_of_position 

I syntaksen ovenfor representerer var_navn heltallsvariabelen som den høyre skiftoperasjonen (>>) skal utføres på for å skifte de binære bitene på høyre side. Og no_of_position-variabelen representerer antall biter som skal plasseres eller flyttes til høyre side. Med andre ord forskyver den høyre skiftoperatoren de binære bitene til den første operanden på høyre side ved å definere det totale antallet biter til den andre operanden.

Eksempel 1: Program for å demonstrere bruken av høyreskiftoperatoren i C

 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use right shift operator to shift the bits num = (num &gt;&gt; 2); // It shifts two bits at the right side printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Produksjon

 Enter a positive number: 25 After shifting the binary bits to the right side. The new value of the variable num = 6 

Eksempel 2: Program for å bruke Right Shift-operatoren i de usignerte int-dataene til C

 #include int main () { // declare local variable unsigned int num = 0xff; // use right shift operator to shift the bits num = (num &gt;&gt; 2); printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Produksjon

 After shifting the binary bits to the right side. The new value of the unsigned variable num = 63 

Eksempel 3: Program for å legge inn det positive tallet fra brukeren for å utføre høyreskiftoperatoren

 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the right side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use right shift operator to shift the bits num = (num &gt;&gt; bit); printf (&apos; 
 After using the right shift operator to shift the bits at the right side. &apos;); printf (&apos; 
 New value of the num = %d&apos;, num); return 0; } 

Produksjon

 Enter a positive number: 40 No. of binary bits shifted to the right side: 4 After using the right shift operator to shift the bits to the right. The new value of the num = 2