Esta sección analizará los operadores de desplazamiento bit a bit en el lenguaje de programación c. El operador de desplazamiento bit a bit se utiliza para desplazar los bits binarios en la dirección izquierda o derecha según los requisitos del programa.
Los operadores de cambio se clasifican en dos tipos según la posición de cambio de los bits.
- Operador de turno izquierdo
- Operador de turno a la derecha
Operador de turno izquierdo
El operador de desplazamiento a la izquierda es un tipo de operador de desplazamiento bit a bit, que realiza operaciones en los bits binarios. Es un operador binario que requiere dos operandos para desplazar o mover la posición de los bits hacia el lado izquierdo y agregar ceros al espacio vacío creado en el lado derecho después de desplazar los bits.
Sintaxis
escáner escanear java
var_name << no_of_position
En la sintaxis anterior, var_name representa el nombre de la variable entera en la que el desplazamiento a la izquierda (<<) 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>
Por ejemplo, el valor de la variable entera num es 22 y su forma binaria es 10110. Ahora usamos el operador de desplazamiento a la izquierda para desplazar los bits binarios 2, num = num << 2 igual a num = num * (2 ^2). Y el nuevo valor de num es 22* (2 ^ 2) = 88, que es igual a la forma binaria 1011000.
Ejemplo 1: Programa para demostrar el uso del operador Mayús a la izquierda 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; }
Producción
Enter a positive number: 25 After shifting the binary bits to the left side. The new value of the variable num = 100
Ejemplo 2: Programa para usar el operador Left Shift en los datos int sin signo del C
cómo devolver una matriz java
#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; }
Producción
After shifting the binary bits to the left side. The new value of the unsigned variable num = 1020
Ejemplo 3: Programa para ingresar el número positivo del usuario para realizar el operador de desplazamiento a la izquierda
#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; }
Producción
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
En el ejemplo anterior, el bit binario del número positivo 40 definido por el usuario es 101000. Después de eso, tomamos 4 como número para desplazar los bits binarios al lado izquierdo. Y luego, el operador de desplazamiento a la izquierda desplaza 4 bits binarios en el lado izquierdo, y luego se crea espacio en el lado derecho, que se llena o agrega con 4 ceros en el lado derecho que devuelve el valor binario 1010000000, que equivale a el número decimal 640.
Operador de cambio a la derecha
El operador de desplazamiento a la derecha es un tipo de operador de desplazamiento bit a bit que se utiliza para mover los bits en el lado derecho y se representa como el símbolo de flecha doble (>>). Al igual que el operador de desplazamiento a la izquierda, el operador de desplazamiento a la derecha también requiere dos operandos para desplazar los bits en el lado derecho y luego insertar los ceros en el espacio vacío creado en el lado izquierdo después de desplazar los bits.
Sintaxis
constructores en java
var_name >> no_of_position
En la sintaxis anterior, var_name representa la variable entera en la que se realizará la operación de desplazamiento a la derecha (>>) para desplazar los bits binarios al lado derecho. Y la variable no_of_position representa la cantidad de bits que se colocarán o desplazarán hacia el lado derecho. En otras palabras, el operador de desplazamiento a la derecha desplaza los bits binarios del primer operando al lado derecho definiendo el número total de bits del segundo operando.
Ejemplo 1: Programa para demostrar el uso del operador Desplazamiento a la derecha en 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; }
Producción
Enter a positive number: 25 After shifting the binary bits to the right side. The new value of the variable num = 6
Ejemplo 2: Programa para utilizar el operador de desplazamiento a la derecha en los datos int sin signo del 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; }
Producción
js establecer tiempo de espera
After shifting the binary bits to the right side. The new value of the unsigned variable num = 63
Ejemplo 3: Programa para ingresar el número positivo del usuario para realizar el operador de desplazamiento a la derecha
#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; }
Producción
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
)>