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.
Els operadors de canvi es classifiquen en dos tipus en funció de la posició de canvi dels bits.
- Operador de torn esquerre
- 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 (' Enter a positive number: '); scanf (' %d', &num); // use left shift operator to shift the bits num = (num << 2); // It shifts two bits at the left side printf (' After shifting the binary bits to the left side. '); printf (' The new value of the variable num = %d', 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 << 2); printf (' After shifting the binary bits to the left side. '); printf (' The new value of the unsigned variable num = %d', 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 (' Enter a positive number: '); scanf (' %d', &num); printf (' No. of binary bits shifted to the left side: '); scanf (' %d', &bit); // use left shift operator to shift the bits num = (num << bit); printf (' After shifting the bits to the left side. '); printf (' The new value of the num = %d', 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 >> 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 (' Enter a positive number: '); scanf (' %d', &num); // use right shift operator to shift the bits num = (num >> 2); // It shifts two bits at the right side printf (' After shifting the binary bits to the right side. '); printf (' The new value of the variable num = %d', 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 >> 2); printf (' After shifting the binary bits to the right side. '); printf (' The new value of the unsigned variable num = %d', 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 (' Enter a positive number: '); scanf (' %d', &num); printf (' No. of binary bits shifted to the right side: '); scanf (' %d', &bit); // use right shift operator to shift the bits num = (num >> bit); printf (' After using the right shift operator to shift the bits at the right side. '); printf (' New value of the num = %d', 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
)>