- Expresiones
- Operaciones aritméticas
- Operaciones de asignación
- Operaciones de relación
- Operaciones lógicas
- Operaciones a nivel de bits
- Otras operaciones
- Prioridades y orden de las operaciones
Operaciones a nivel de bits
Complemento a uno
Complemento del valor de la variable a uno. El valor de la expresión contiene 1 en todos los dígitos donde el valor de la variable contiene 0, y 0 en todos los dígitos donde el valor de la variable contiene 1.
b = ~n; |
Ejemplo:
char a='a',b;
|
Desplazamiento a la derecha
La representación binaria de x se desplaza a la derecha a y dígitos. Si el valor desplazado posee el tipo sin signos, entonces se realiza el desplazamiento lógico a la derecha, es decir, los dígitos liberados por la izquierda se rellenan con ceros.
Pero si el valor desplazado tiene el tipo de signo, entonces se realiza el desplazamiento aritmético a la derecha, es decir, los dígitos liberados por la izquierda van a ser rellenados con el valor del bit de signo (si el número es positivo, el valor del bit de signo es igual a 0; si el número es negativo, el valor del bit de signo es igual a 1)
x = x >> y; |
Ejemplo:
char a='a',b='b';
|
Desplazamiento a la izquierda
La representación binaria de x se desplaza a la izquierda a y dígitos, rellenándose los dígitos liberados por la derecha con ceros.
x = x << y; |
Ejemplo:
char a='a',b='b';
|
No se recomienda realizar el desplazamiento a más o igual cantidad de bits que la longitud de la variable desplazada, puesto que el resultado de dicha operación no está definido.
Operación a nivel de bits AND
Operación a nivel de bits AND de las representaciones binarias y y x. El valor de la expresión contiene 1 (VERDADERO) en todos los dígitos en los que como x, tanto y no contienen ceros; y 0 (FALSO) en los demás dígitos.
b = ((x & y) != 0); |
Ejemplo:
char a='a',b='b';
|
Operación a nivel de bits OR
Operación a nivel de bits OR de las representaciones binarias y y x. El valor de la expresión contiene 1 en todos los dígitos en los que x o y no contienen 0; y 0 en todos los demás dígitos.
b = x | y; |
Ejemplo:
char a='a',b='b';
|
Operación a nivel de bits excluyendo OR
Operación a nivel de bit excluyendo AND (eXclusive OR) de las representaciones binarias y y x. El valor de la expresión contiene 1 en los dígitos en los que x y y poseen los valores binarios diferentes; y 0 en todos los demás dígitos.
b = x ^ y; |
Ejemplo:
char a='a', b='b';
|
Operaciones a nivel de bits se realizan unicamente con los números enteros.
Véase también