logo

Operadores bit a bit en C++

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++.

  1. Operadores aritméticos
  2. Operadores relacionales
  3. Operadores logicos
  4. Operadores de Asignación
  5. 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.

  1. Bit a bit Y (&)
  2. Bit a bit O (|)
  3. XOR bit a bit (^)
  4. Bit a bit NO (~)
  5. Desplazamiento a la izquierda (<<)
  6. 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.