Operadores para manejo de bits
Exixten seis operadores para manejo de bits:
1. & AND de bits
2. | OR inclusivo de bits
3. ^ OR exclusivo de bits
4. << corrimiento a la izquierda
5. >> corrimineto a la derecha
6. ~ complemento a uno (unario)
AND (&)
La funci�n “AND” activa los bits resultantes cuando los bits de los dos operandos son 1, de otra forma el resultado es =. Entonces si se coloca en l�nea los dos operandos y se realiza la funci�n “AND”, se puede ver que los dos bits de mayor peso (los bits situados m�s a la izquierda de cada n�mero) son 1, as� los bits resultantes de cada uno es 1. Los dos bits de menor peso se eval�n a 0 porque al menos uno de los dos operandos es 0:
1101
& 1100
1100
OR
La operaci�n OR inclusiva (|) significa que si uno de los dos operandos es 1 el resultado es 1.
Tabla 6–1. Ejemplo de OR inclusivo Operador1 Operador2 Resultado 0 0 0 0 1 1 1 0 1 1 1 1
El OR exclusivo significa que si los dos operandos son diferentes el resultado es 1, de otra forma es resultado es 0
Tabla 6–2. Ejemplo de OR exclusivo Operador1 Operador2 Resultado 0 0 0 0 1 1 1 0 1 1 1 0 Corrimiento de bits
Tanto el operador de corrimiento a la izquierda («) como el operador de corrimiento a la derecha (»), solo desplazan los bits del operando de la izquierda el n�mero de posiciones indicadas por el operador de la derecha. Los desplazamientos ocurren en la direcci�n indicada por el propio operador. Por ejemplo
13 >> 1
desplaza los bits del entero 13 una posici�n a la derecha as�:
13 = 1101
1101 >> 1 = 0110
0110 = 6
Complemento a uno
El operador unario “~” da el complemento a uno de un entero; esto es, convierte cada bit 1 en un bir 0 y viceversa. Por ejemplo
Tabla 6–3. Complemento a Uno Operador Resultado 1 0 0 1a