Qué son los operadores en programación
Un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción.
La función de cada operador depende del tipo que se esté utilizando, veámos cada uno de ellos.
Tipos de operadores
Operadores de asignación.
Como su nombre lo dice su función es asignar un valor especifico a una variable mediante una asignación simple (=) o por dos operadores, llamados operadores compuestos.
Todos son binarios.
Es recomendable no dejar espacios entre los operadores.
Operador | Acción | Ejemplo | Resultado |
= | Asignación Básica | X = 6 | X vale 6 |
*= | Asigna Producto | X *= 5 | X vale 30 |
/= | Asigna División | X /= 2 | X vale 3 |
+= | Asigna Suma | X += 4 | X vale 10 |
-= | Asigna Resta | X -= 1 | X vale 5 |
%= | Asigna Modulo | X %= 5 | X vale 1 |
<<= | Asigna Desplazamiento Izquierda | X <<= 1 | X vale 12 |
>>= | Asigna Desplazamiento Derecha | X >>= 1 | X vale 3 |
&= | Asigna AND entre Bits | X &= 1 | X vale 0 |
^= | Asigna XOR entre Bits | X ^= 1 | X vale 7 |
|= | Asigna OR entre Bits | X |= 1 | X vale 79 |
Los últimos 5 operadores de asignación requieren un tipo de dato especifico, por ello se utiliza el tipo entero (int). El resto utiliza cualquier tipo para las variables siempre y cuando no sean constates.
Operadores Aritméticos.
Son aquello símbolos que nos permiten hacer operaciones o cálculos simples. Los operadores de decremento e incremento, suman o restan por defecto un 1 al valor de la variable. Suelen ser usados como mayor frecuencia en ciclos repetitivos.
Según la posición de estos operadores puede cambiar el valor:
- Si el operador esta ante de la variable se conoce como prefijo, por ende, se realiza primero el incremento o decremento y después el utilizar el valor de la variable.
- Si esta después se conoce como posfijo, primero se usa el valor de la variable y luego se incrementa o decremento.
Operador | Acción | Ejemplo |
– | Resta | x = 5 – 3; // x vale 2 |
+ | Suma | x = 2 3; // x vale 5 |
* | Multiplicación | x = 2 3; // x vale 6 |
/ | División | x = 6 2; // x vale 3 |
% | Módulo | x = 5 % 2; // x vale 1 |
— | Decremento | x = 1; x – – // x vale 0 |
++ | Incremento | x = 1; x++ // x vale 2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// ESTE ES UNS EJEMPLO DEL USO DE OPERADORES ARITMETICOS Y DE ASIGNACION. // lo primero es agregar las liberias a usar #include <iostream> using namespace std; int main() { // dentro de nuestro bloque // usamos el operador ( = )para inicializar la varables float cal1=0, cal2=0, cal3=0; float promedio=0; // En esta parte se utiliza un ciclo, es nos permite repetir el mensaje: escribe una calificacion. mientras que se cumpla la condicion. while (cal1 >= -1|| cal2 >= -1 || cal3 >=-1) // dentro de los parentesis, es decir la condicion: escribimos la variable y con el operador (>= ) asignamos el valor al que "cal1" sera mayor, lo mismo ocurre con "cal2" y "cal3". { cout<< "Escribe una calificacion" << endl; cin>> cal1; cout<< "Escribe una calificacion" << endl; cin>> cal2; cout<< "Escribe una calificacion" << endl; cin>> cal3; promedio= (cal1+cal2+cal3) / 3 ; // al final, usamos operadores artimeticos de suma y divicion para darle el valor a "promedio" mediante (=). cout<< " Promedio es igual: " << promedio << endl; } return 0; } |
NOTA : DENTRO DEL CODIGO, FORMA DE COMENTARIOS SE DESCRIBE EL USO.
Operadores Relacionales o de comparación.
Permiten evaluar una la igualdad y la magnitud, es decir si dos variables son iguales, diferentes o menores, a su vez permite comprobar o bien probar la veracidad de una condición, propuesta o pregunta, la respuesta es de valor booleano (verdadero que es igual 1 por defecto, y falso que le corresponde el 0).
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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/ ESTE ES UNS EJEMPLO DEL USO DE OPERADORES DE COMPARACION. // lo primero es agregar las liberias a usar #include <iostream> using namespace std; int main() { // dentro de nuestro bloque int a=4; cout << " ESCRIBE UNA NUMERO "<< endl; cin>> c; if ( c >= a ) // el if, nos ayudara a comparar, de este modo: //si el numero que ingresamos el mayor a "a", nos mostrara el mensaje , { cout<< "numero mayor " << c << " a" << a; else { cout<< " numeros diferentes"; // sino nos motrara este mensaje. } } return 0; } |
Dentro del código, en la parte del if, primero compara si c es mayor, por lo tanto sea cual sea el mensaje que haya dentro del bloque correspondiente ({ }), se ejecutara o e mostrar.
Operadores Lógicos
Producen un resultado booleano, les corresponden lógicos los cuales están relacionados con cierto o falso, podría decirse que ayudan a “unir” propiedades. Función de la siguiente manera.
Se tienen dos variables cualesquiera:
- Si dos ambas son verdaderas se obtiene un resultado verdadero.
- Si alguna es verdadera, es verdadero.
Operador | Acción | ejemplo |
&& | Conjunción (Y) and | C && D |
|| | Disyunción (O) or | C|| D |
! | Negación | C! |
Es la negación de una variable, falso. Recordemos que falso equivale a 0.
Veamos el siguiente ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// ESTE ES UNS EJEMPLO DEL USO DE OPERADORES LOGICOS . // lo primero es agregar las liberias a usar #include <iostream> using namespace std; int main() { // dentro de nuestro bloque int a; int c; cout << " ESCRIBE UNA NUMERO "<< endl; cin>> a; cout << " ESCRIBE UNA NUMERO "<< endl; cin>> c; if ( c >= a || a >=c ) // utilizamos el operador para indicar para comprar los numeros y saber cual es mayor. { // si "c" es mayor a "a" nos mostrar cout<< "numero mayor " << c; } // sino nos mostrara. else { cout<< "numero mayor" <<a; } return 0; } |
De nueva cuenta observemos que existe un if, dentro del cual hay un mensaje. La condición es si c es mayor o igual que a, o (que es el operador ) si a es mayor a c.
Este mensaje se mostrara si se cumplen una de las condiciones por ello:primero se analizara y comprara si c es mayor que ‘a’ para después mostrar el mensaje. sino, se compara de nuevo si ” a” es mayor a “c”.
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.
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 |
Operadores 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, 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 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.
Para comprender lo anterior , veamos el siguiente código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// ESTE ES UN EJEMPLO DEL USO DE OPERADORES DE MANEJO DE BITS. // MEDIANTE EL OPERADOR "&" #include <iostream> // declaramos como constantes la cantidad de numeros que queremos que nuestre #define TAMANO 200 #define LIMITE 15 // hasta que numero se mostrar. using namespace std; int main() { int i = 0; for ( i = 0; i < TAMANO; i++ ) { cout<< (i & LIMITE); } return 0; |
Para este ejemplo usamos el operador &, el cual nos permitirá comparar los los bits que hay dentro del la constante TAMANO. gracias al for, que recorre el la constante hasta la segunda constante LIMITE.
Es decir: el for buscara todos los numeros que hay dentro de TAMANO. Para ello dentro de debemos poner la varible+ &+ la constante LIMITE y lo que imprimira el pantalla es los siguiente:
1 |
01234567891011121314150123456789101112131415012345678910111213141501234567891011121314150123456789101112131415012345678910111213141501234567891011121314150123456789101112131415012345678910111213141501234567891011121314150123456789101112131415012345678910111213141501234567 |
Operador condicional o ternario
Existe un último operador, este a diferencia del resto es ternario, es decir utiliza tres variables u operandos es (? ) y sirve para escribir expresiones condicionales. Su formato es el siguiente
1 |
expresion1 ? expresion2 : expresion3 |
expresion1 es evaluada primero, si es diferente de cero (verdadero) entonces se evalua expresion2 devolviéndose como resultado de la expresión condicional. Si expresion1 es igual a cero (falso) se evalua expresion3 y se devuelve como resultado de la expresión condicional.
quisiera pedeir una disculpa publica, a toda la bola de pinches prietos que se sientieron ofendidos.
La verdad me parecen una banda de gente sin que hacer que nadamas buscan pleito donde no les hablan, pinches nacos
todos me tienen hasta la verga y ya me cansé de esto, es más ahorita llegando a la casa le voy a romper su madre a mi esposa.
La muy pendeja quiere que llegue a la casa y me da sopa, la pinche prieta me da sopa de esa de la más aguada que sus pinches nalgas
y ni ganas dan de comer con la pinche vieja mal oliente en la cocina, el pinche edor me llega hasta el alma y huele de la verga
Con todo respeto, mil disculpas y ahí se ven pinche bola de indigenas morenos.
-El luigi
vayanse alabergacabrones putostodosputos me la pelan alaberga putospendejos aaaaaaaaaaaaalaberga
[…] OPERADORES […]