1. Centro de Estudios Tecnológicos industrial y de
servicio N°109
Francisco Ruiz Luis Eduardo
Espinosa Alba Karen Michelle
Tipos de operadores de C++
MAESTRA: Margarita Romero Alvarado
3. ¿QUÉ ES UN OPERADOR?
• “Un operador es un elemento de programa que se aplica a uno o varios operadores en
una expresión o instrucción. Los operadores que requieren un operando, como el
operador de incremento se conocen como operadores unarios. Los operadores que
requieren dos operadores, como los operadores aritméticos (+,-,*,/) se conocen como
operadores binarios. Un operador, el operador condicional (?:), utiliza tres operadores
y es el único operador ternario de C++” .
• Existen 6 tipos de operadores según su función, que son aritméticos, relacionales, de
asignación, lógicos, de dirección y de manejo de Bits.
4. OPERADORES DE ASIGNACIÓN
Operador Acción Ejemplo Resultado
=
* =
Acción básica
Asigna producto
X = 6
X * = 5
X vale 6
X vale 30
/ = Asigna división X / = 2 X vale 3
+ =
- =
Asigna suma
Asigna resta
X + = 4
X - = 1
X vale 10
X vale 5
% = Asigna modulo X % = 5 X vale 1
<< = Asigna
a la izquierda
X << = 1 X vale 12
>> = Asigna
derecho
X >> = 1 X vale 3
& = Asigna and entre bits X & = 1 X vale 0
5. OPERADORES EN C++
• Todos ellos son operadores binarios, de los cuales, “ = ” es el único de
asignación simple, los demás son operadores de asignación
compuestos, puesto que están conformados por más de un símbolo,
por ejemplo “+=” se compone del operador “+ “ y el operador “ = “.
• Los seis primeros aceptan operando de distinto tipo, mientras que los
cinco últimos: <<=, >>=, &=, ^= y |=, implican manejo de bits, por lo
que sus operando deben ser numero int en sus distintas variantes. El
funcionamiento de estos operadores se encuentra descrito en la sección
de operadores de bits.
6. • La parte izquierda (que tiene que ser una variable no constante)
adquiere el valor señalado en la expresión de la derecha, pero se
mantiene el tipo original de la variable de la parte izquierda. En caso
necesario se realiza una conversión de tipo (con pérdida de precisión en
su caso) del izquierdo al derecho.
• Es necesario resaltar que el operador C++ de asignación simple (=) se
distingue de otros lenguajes como Pascal que utilizan el símbolo := para
este operador. Observe también que la asignación simple (=) utiliza un
símbolo distinto del operador relacional de igualdad (==)” [2]. Además,
en los operadores compuesto no debe haber espacios de la forma “+ =”
y que el igual siempre va a la derecha del resto de operando.
7. OPERADORES ARITMÉTICOS
Los operadores aritméticos se usan para realizar cálculos y
operaciones con números reales y punteros. Básicamente
permiten hacer cualquier operación aritmética que se
necesite. Los operadores más comunes son:
8.
9. OPERADORES RELACIONALES
• Los operadores relacionales, también denominados operadores binarios lógicos y de
comparación, se utilizan para comprobar la veracidad o falsedad de determinadas
propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones
que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de
argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo
cierto/falso, es decir, producen un resultado booleano.
10. Operador Acción Ejemplo
< Menor x = 5 y=3; (y < x)
> Mayor x =7 y=9; (y> x)
<= Menor o igual x = 5 y= 3; (y <= x)
>= Mayor o igual x =7 y=5; (x >= y)
== Igual x = 5 y =5; (x == y)
¡= Diferente X=9 y=5; (x ¡= y¨)
11. OPERADORES LÓGICOS.
• Los operadores lógicos producen un resultado booleano, y
sus operando son también valores lógicos o asimilables a
ellos (los valores numéricos son asimilados a cierto o falso
según su valor sea cero o distinto de cero). Por el contrario,
las operaciones entre bits producen valores arbitrarios.
13. OPERADORES DE DIRECCIÓN
Existen de referencia y de in dirección, de selección y de selección de objetos.
Los primeros se componen de alguno y de una expresión o variable unitaria.
La funcionalidad de cada uno de ellos:
( * ) considera a la variable u operando cono una dirección devolviendo así contenido o valor.
(&) devuelve la dirección que ocupa en la memoria el operador.
( . ) permite acceder a objetos dentro de la estructura de código.
( ->) permite acceder a campos para estructuras relacionadas con punteros.
14. Operador
Nombre
Ejemplos
* Deferencia o in dirección int* ptr = 0
& Referencia o dirección int* p = &x;
.
In dirección de puntero a miembro o de
selección de
(*pc). pmint
->
in dirección de puntero-a-clase o de selección de
objetos
pc->x
15. OPERADOR DE MANEJO DE BITS
Son operadores que permiten hacer movimiento a nivel de bits, es decir
manejar flags. Que son variables de tipo entero que puede tomas dos
valores.
Estos operadores utilizan la numeración hexadecimal que tiene una
relación directa a 4 dígitos binarios, , la cual puedes encontrar en una
tabla ASCII o bien buscando una tabla especifica para esta numeración.
16. Por ejemplo:
El operador AND (&): compara dos bits; si los dos son 1 el resultado es 1, en otro
caso el resultado será 0.
El operador OR (): compara dos bits; si cualquiera de los dos bits es 1, entonces el
resultado es 1; en otro caso será 0.
El operador XOR (): dará como resultado un 1 si cualquiera de los dos operandos es
es 1, pero no los dos a la vez.
El operador de complemento (): Este operador devuelve como resultado el
complemento a uno del operando:
Los operadores de desplazamiento a nivel de bit
Desplazan a la izquierda o a la derecha un número especificado de bits. En un
desplazamiento a la izquierda los bits que sobran por el lado izquierdo se descartan y
se rellenan los nuevos espacios con ceros. De manera análoga pasa con los
desplazamientos a la derecha.
17.
18. OPERADOR CONDICIONAL
“El operador condicional es el único
operador ternario de la gramática C++ y
sirve para tomar decisiones. Proporciona
un resultado entre dos posibilidades en
función de una condición.
19. El operador condicional “? :” produce un resultado.
En la expresión E1 ? E2 : E3, E1 es una expresión
relacional que se evalúa primero. Si el resultado es
cierto, entonces se evalúa E2 y este es el resultado.
En caso contrario (si E1 resulta falso), entonces se
evalúa E3 y este es el resultado. Si la premisa E1 es
cierta, entonces no llega a evaluarse la expresión
E3.