Cambio de Bit a la Izquierda <<
Descripción
El operador de desplazamiento izquierdo hace que los bits del operando izquierdo se cambien a la izquierda por el número de posiciones especificadas por el operando derecho.
Ejemplo
n0.val = 5 binario: 0000000000000101
n1.val = n0.val << 3 binario: 0000000000101000, o 40 en decimal
Cambio de Bit a la Derecha >>
Descripción
El operador de desplazamiento derecho hace que los bits del operando izquierdo se desplacen a la derecha por el número de posiciones especificadas por el operando derecho.
Cuando el bit de signo es 1 (el valor es negativo) y luego se rellena a la izquierda con 1
Cuando el bit de signo es 0 (el valor es positivo) y, a continuación, se rellena a la izquierda con 0
Ejemplo 1
n0.val= 40; binario: 0000000000101000
n1.val = n0.val >> 3 binario: 0000000000000101, o 5 en decimal
Ejemplo 2
n0.val = -16 binario: 1111111111110000
n1.val= n0.val>> 3 binario: 1111111111111110
Operador OR bit a bit |
Descripción
El operador OR bit a bit su símbolo es de barra vertical, |. Al igual que el operador, | funciona de forma independiente cada bit es decir se compara cada bit por separado. La operación OR dará como resultado 1 cuando una de las entradas sea 1 y dará 0 cuan las dos entradas sean 0 muy similar a la operación suma aritmética.
0 1 0 1 Entrada A
1 1 0 0 Entrada B
-------
1 1 0 1 A | B
Ejemplo
n0.val= 50; binario: 0000000000110010
n1.val = 25; binario: 0000000000011001
n2.val = n0.val|n1.val binario: 0000000000111011, 59 en decimal
Operador AND bit a bit &
Descripción
El operador AND bit a bit su símbolo es ampersand &. Al igual que el operador, | funciona de forma independiente cada bit, es decir, se compara cada bit por separado. La operación AND dará como resultado 1 cuando las dos entradas sean 1 y dará 0 cuando una de las entradas sea 0, muy similar a la operación multiplicación aritmética.
0 1 0 1 Entrada A
1 1 0 0 Entrada B
-------
0 1 0 0 A & B
Ejemplo
n0.val = 50 binario: 0000000000110010
n1.val = 25 binario: 0000000000011001
n2.val = n0.val&n1.val binario: 0000000000010000, 16 en decimal
Operador XOR bit a bit ^
Descripción
Hay un operador algo inusual llamado OR EXCLUSIVO bit a bit, también conocido como XOR bit a bit. El operador XOR bit a bit se escribe usando el símbolo de intercalación ^. Una operación XOR bit a bit da como resultado un 1 solo si los bits de entrada son diferentes; de lo contrario, da como resultado un 0.
0 1 0 1 Entrada A
1 1 0 0 Entrada B
-------
1 0 0 1 A ^ B
Ejemplo
n0.val = 180 binario: 0000000010110100
n1.val = 30 binario: 0000000000011110
n2.val = n0.val^n1.val binario: 0000000010101010, 170 en decimal