Hay varios operadores presentes en C++. Cada Operador tiene un símbolo particular así como una Operación a realizar. Disponemos de varias categorías de operadores en C++.
- Operadores aritméticos
- Operadores relacionales
- Operadores logicos
- Operadores de Asignación
- Operadores bit a bit
En este artículo, aprenderemos sobre los operadores bit a bit en C++.
Operadores bit a bit de C++
Los operadores bit a bit son los operadores que se utilizan para realizar operaciones a nivel de bits en números enteros. Al realizar esta operación, los números enteros se consideran secuencias de dígitos binarios. En C++, tenemos varios tipos de operadores bit a bit.
- Bit a bit Y (&)
- Bit a bit O (|)
- XOR bit a bit (^)
- Bit a bit NO (~)
- Desplazamiento a la izquierda (<<)
- Desplazamiento a la derecha (>>)
1. Bit a bit Y (&)
La operación AND bit a bit se realiza entre dos números enteros. Comparará cada bit en la misma posición y el bit de resultado se establecerá (1) solo y solo si ambos bits correspondientes están configurados (1). El símbolo que se utiliza para realizar la operación AND bit a bit es &.
Ejemplo : realizaremos una operación Bit a bit entre dos números 7 y 4. En binario el 7 se representará como 111 y el 4 se representará como 100.
1 1 1 & 1 0 0 ------ 1 0 0>
Como podemos ver en el ejemplo anterior, solo se establecen aquellos bits cuyos bits correspondientes (ambos) están configurados. Por lo tanto 7&4=4
2. Bit a bit O (|)
Si la operación OR bit a bit se realiza entre dos números enteros, comparará cada bit en la misma posición y el bit de resultado se establecerá (1) si alguno de los bits correspondientes está establecido (1). El símbolo que se utiliza para realizar la operación OR bit a bit es |.
matriz de estructura en lenguaje c
Ejemplo: Realizaremos una operación OR bit a bit entre dos números 7 y 4. En binario, 7 se representará como 111 y 4 se representará como 100.
1 1 1 | 1 0 0 ------ 1 1 1>
Como podemos ver en el ejemplo anterior, esos bits son bits configurados cuyo al menos un bit correspondiente está configurado. Por lo tanto 7|4=7.
3. XOR bit a bit (^)
Si la operación XOR bit a bit se realiza entre dos números enteros, comparará cada bit en la misma posición y el bit de resultado se establecerá (1) si alguno de los bits correspondientes difiere, es decir, uno de ellos debe ser 1 y el otro debe ser cero. El símbolo que se utiliza para realizar la operación XOR bit a bit es ^.
hermanos kylie jenner
Ejemplo: Realizaremos una operación XOR bit a bit entre dos números 7 y 4. En binario, 7 se representará como 111 y 4 se representará como 100.
1 1 1 ^ 1 0 0 ------ 0 1 1>
Como podemos ver en el ejemplo anterior, esos bits son bits configurados cuyos bits correspondientes son diferentes. Por lo tanto 7^4=3.
4.NO bit a bit (~)
La operación Bitwise NOT se realiza en un solo número. Cambia el bit actual a su complemento, es decir, si el bit actual es 0, el resultado será 1 y si el bit actual es 1, entonces se convertirá en 0. Se denota con el símbolo ~.
Ejemplo: Realizaremos la operación NOT bit a bit en el número 4. El número 4 se representa como 100 en binario.
~ 1 0 0 ------ 0 1 1>
Como podemos ver en el resultado, los bits cuyo valor inicial era 1 son 0 en el resultado y viceversa. Por lo tanto Bitwise NO del número 4 será 3.
5.Desplazamiento a la izquierda (<<)
Este operador desplaza los bits de Integer al lado izquierdo por un número específico (como se mencionó). Esta operación de desplazamiento a la izquierda equivale a multiplicar el número entero por 2 potencias del número de posiciones desplazadas. El símbolo que se utiliza para representar al operador de desplazamiento a la izquierda es <<.
Ejemplo: Considere que tenemos un número entero 5 y desplazaremos sus bits 2 posiciones hacia la izquierda. La operación se representará como x << 2.
El número 5 se representa como 101 en binario. Agregaremos algunos ceros al principio para desplazar los bits a la izquierda. Por lo tanto, se representará como 00000101. Ahora, moveremos todos los bits dos posiciones hacia la izquierda y llenaremos las posiciones vacías con 0. Por lo tanto, se convertirá en 00010100, que es 20. Como se mencionó anteriormente, desplazar el número dos bits a la izquierda significa multiplicarlo por 2 elevado a 2, que es 4. 5*4 = 20 muestra la declaración mencionada anteriormente.
6.Desplazamiento a la derecha (>>)
Este operador desplaza los bits de Integer al lado derecho por un número específico (como se mencionó). Esta operación de desplazamiento a la derecha equivale a dividir el número entero por 2 potencia el número de posiciones desplazadas. El símbolo que se utiliza para representar al operador de desplazamiento a la izquierda es>>.
cambiar el nombre de un directorio
Ejemplo: Considere que tenemos un número entero 16 y desplazaremos sus bits a la derecha 2 posiciones. La operación se representará como x>> 2.
El número 16 se representa como 10000 en binario. Agregaremos algunos ceros al principio para desplazar los bits a la derecha. Por lo tanto, se representará como 00010000. Ahora, moveremos todos los bits dos posiciones hacia la derecha y llenaremos las posiciones vacías con 0. Por lo tanto, se convertirá en 00000100, que es 4. Como se mencionó anteriormente, desplazar el número a la derecha en dos bits significa dividirlo por 2 elevado a 2, que es 4. 16*4 = 4 muestra la declaración mencionada anteriormente.
Operadores bit a bit del programa C++
A continuación se muestra la implementación del tema:
C++ // C++ Program to demonstrate // Bitwise Operator #include using namespace std; // Main function int main() b; // Bitwise XOR int bitwise_xor = a ^ b; // Bitwise NOT int bitwise_not = ~a; // Bitwise Left Shift int left_shift = a << 2; // Bitwise Right Shift int right_shift = a>> 1; // Imprimir los resultados de // Operadores bit a bit cout<< 'AND: ' << bitwise_and << endl; cout << 'OR: ' << bitwise_or << endl; cout << 'XOR: ' << bitwise_xor << endl; cout << 'NOT a: ' << bitwise_not << endl; cout << 'Left Shift: ' << left_shift << endl; cout << 'Right Shift: ' << right_shift << endl; return 0;>
Producción:
AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>
Conclusión
En conclusión, los operadores bit a bit se utilizan para realizar operaciones a nivel binario (bit). Tenemos varios tipos de operadores bit a bit como operadores AND, OR, XOR, NOT, desplazamiento a la izquierda y desplazamiento a la derecha en C++. Mediante estas operaciones, la manipulación de bits individuales se puede realizar con mucha precisión, lo cual es esencial en el manejo de datos de bajo nivel.