logo

Operadors de torn a C

Aquesta secció tractarà els operadors de desplaçament de bits en el llenguatge de programació c. L'operador de desplaçament bit a bit s'utilitza per desplaçar els bits binaris en la direcció esquerra o dreta segons el requisit del programa.

Operadors de torn a C

Els operadors de canvi es classifiquen en dos tipus en funció de la posició de canvi dels bits.

  1. Operador de torn esquerre
  2. Operador de canvi dret

Operador de torn esquerre

L'operador de desplaçament a l'esquerra és un tipus d'operador de desplaçament de bits, que realitza operacions sobre els bits binaris. És un operador binari que requereix dos operands per desplaçar o moure la posició dels bits al costat esquerre i afegir zeros a l'espai buit creat al costat dret després de desplaçar els bits.

Sintaxi

actualització de java
 var_name << no_of_position 

A la sintaxi anterior, nom_var representa el nom de la variable entera en què el desplaçament a l'esquerra (<<) 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>

Per exemple, el valor de la variable entera num és 22 i la seva forma binària és 10110. Ara fem servir l'operador de desplaçament a l'esquerra per desplaçar els bits binaris 2, num = num << 2 igual a num = num * (2 ^2). I el nou valor de num és 22* (2 ^ 2) = 88, que és igual a la forma binària 1011000.

Exemple 1: programa per demostrar l'ús de l'operador de desplaçament a l'esquerra en 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; } 

Sortida

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

Exemple 2: programa per utilitzar l'operador Left Shift a les dades int sense signar de C

arp-a comanda
 #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; } 

Sortida

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

Exemple 3: Programa per introduir el número positiu de l'usuari per realitzar l'operador de desplaçament a l'esquerra

 #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; } 

Sortida

 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 

A l'exemple anterior, el bit binari del nombre positiu 40 definit per l'usuari és 101000. Després d'això, prenem 4 com a nombre per desplaçar els bits binaris del costat esquerre. A continuació, l'operador de desplaçaments a l'esquerra desplaça 4 bits binaris al costat esquerre i, a continuació, es crea un espai al costat dret, que s'omple o s'afegeix amb 4 zeros al costat dret que retorna el valor binari 1010000000, que equival a el nombre decimal 640.

Operador de canvi dret

L'operador de desplaçament a la dreta és un tipus d'operador de desplaçament de bits que s'utilitza per moure els bits del costat dret, i es representa com el símbol de fletxa doble (>>). Igual que l'operador de desplaçament a l'esquerra, l'operador de desplaçament a la dreta també requereix dos operands per desplaçar els bits al costat dret i després inserir els zeros a l'espai buit creat al costat esquerre després de canviar els bits.

Sintaxi

tcp vs udp
 var_name &gt;&gt; no_of_position 

A la sintaxi anterior, nom_var representa la variable entera sobre la qual s'ha de realitzar l'operació de desplaçament a la dreta (>>) per desplaçar els bits binaris del costat dret. I la variable no_of_position representa el nombre de bits que cal col·locar o desplaçar cap a la dreta. En altres paraules, l'operador de desplaçament a la dreta desplaça els bits binaris del primer operand al costat dret definint el nombre total de bits al segon operand.

Exemple 1: programa per demostrar l'ús de l'operador de desplaçament dret a 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; } 

Sortida

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

Exemple 2: programa per utilitzar l'operador Right Shift a les dades int sense signe de 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; } 

Sortida

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

Exemple 3: Programa per introduir el número positiu de l'usuari per realitzar l'operador de desplaçament a la dreta

 #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; } 

Sortida

 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