SlideShare uma empresa Scribd logo
1 de 8
¿Qué es un operador?
Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta,
multiplicación, etc) y que recibe sus argumentos de manera infija, en el caso de tener 2
argumentos de manera prefija o postfija, en el caso de tener uno solo ( , o bien, ).
Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación
aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la
siguiente tabla se muestran los operadores de los que disponemos en C y su
función asociada.
Operadores aritméticos
OperadorAcción Ejemplo
- Resta x = 5 + 3; // x vale 2
+ Suma x = 2 - 3; // x vale 5
* Multiplicaciónx = 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
Al igual que en matemáticas,estos operadoresnos permitirán evaluar
las relaciones (igualdad, mayor, menor, etc) entre un par de operandos
(en principio, pensemosen números). Los operadores relacionales de
los que disponemosen C son:
El resultado de cualquier evaluación
de este tipo, es un valor ``cierto'' (true) o ``falso'' (false). La mayoría de
lenguajes tienen algún tipo predefinido para representarestos valores
(boolean, bool, etc); sin embargo en C, se utilizan valores enteros para
representar esto:
Operadores lógicos
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual
!= Distinto
falso (false) 0
cierto (true) cualquier valor distinto de 0, aunque normalmente se usará el 1
Como operadores lógicos designamos a aquellos operadores que nos
permiten ``conectar'' un par de propiedades (al igual que en lógica):
numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /*
Ejecutaremos este código si numero */ /* es primo y numero es mayor
que 100 */ }
Los operadores lógicosde los que disponemos enC son los
siguientes:
Operadores lógicos.
Al igual que con la igualdad hay que tener especial cuidado con los
operadores && y , ya que si ponemos sólamente un & o un , nos
estamos refiriendo a un ``and'' o un ``or'' a nivel de bit, por lo que el
código puede que no haga lo que queremos (o que algunas veces lo
haga y otras veces no).
OperadorAcción
&& Conjunción (Y)
|| Disyunción (O)
! Negación
En determinadas ocasiones nos puede interesar manipular datos a nivel de bit; por
ejemplo activar o desactivar flags. Un flag es una ``variable'' que puede tomar 2
valores, por lo que se suele representar con un bit. Debido a que en C (y en la
mayoría de lenguajes de programación) no existen tipos predefinidos de un bit, lo
que se suele hacer es agrupar varios flags en una variable de tipo entero (``short
int'', ``int'' o lo que queramos).
Para acceder a estos flags o simplemente para activarlos es necesario utilizar
operadores a nivel de bit. Veámoslo en un ejemplo.
La llamada al sistema ``open'' (en POSIX) necesita que se le especifique que
hacer con el fichero a abrir: crearlo si no existe, sobreescribirlo si existe, no
sobreescribirlo, etc.
int open(const char *path, int flags); //Donde: // path --> indica el path de donde se
encuentra el fichero // flags --> indica lo que queremos hacer con el fichero ... //
//Flags puede ser: // O_CREAT Si el fichero no existe, será creado. // O_EXCL
Cuando se combina con O_CREAT, se considerará un // error que el fichero ya
exista. // O_TRUNC Si el fichero ya existe, será truncado. // O_APPEND El fichero
se abrirá en modo de sólo-añadir. // O_NONBLOCK El fichero se abre en modo no
bloqueante. // ...
Si queremos abrir el fichero ``/tmp/tutorial_c.txt'' en modo lectura y que se pueda
escribir al final del mismo pondremosint fd; fd = open ("/tmp/tutorial_c.txt",
O_CREAT | O_APPEND ); // también lo podríamos hacer "a pelo": // open
("/tmp/tutorial_c.txt", 0x440) write(fd, "Hola mundo...n", 14); close (fd);
Aunque normalmente no se suelen utilizar, es bueno conocer como actúan estos
operadores y de cuales disponemos.
Operadores a nivel de bit
OperadorAcción
& AND a nivel de bit.
OR a nivel de bit.
XOR a nivel de bit.
Complemento.
>> Desplazamiento a la izquierda.
<< Desplazamiento a la derecha.
A continuación describiremos cada uno de estos operadores brevemente.
DEFINICIÓN: El operador AND (&): El operador AND compara dos bits; si los dos
son 1 el resultado es 1, en otro caso el resultado será 0.
Ejemplo:
c1 = 0x45 --> 01000101 c2 = 0x71 --> 01110001 --------------------------- c1 & c2 =
0x41 --> 01000001
DEFINICIÓN: El operador OR ( ): El operador OR compara dos bits; si cualquiera
de los dos bits es 1, entonces el resultado es 1; en otro caso será 0. Ejemplo:
i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 | i2 = 0x57 -
-> 01010111
DEFINICIÓN: El operador XOR ( ): El operador OR exclusivo o XOR, dará como
resultado un 1 si cualquiera de los dos operandos es 1, pero no los dos a la vez.
Ejemplo:
i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 ^ i2 = 0x14
--> 00010100
DEFINICIÓN: El operador de complemento ( ): Este operador devuelve como
resultado el complemento a uno del operando:
c = 0x45 --> 01000101 ---------------------- ~c = 0xBA --> 10111010
DEFINICIÓN: Los operadores de desplazamiento a nivel de bit (<<
y >>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. Veamos un ejemplo:
c = 0x1C 00011100
c > 1 c = 0x38 00111000
c < 2 c = 0x07 00000111
último describiremos los operadores que nos faltan:
 El operador de asignación
 El operador ternario ?
 Los operadores & y * (unarios)
 El operador sizeof
 El operador cast
 El operador coma ``,''
 Los operadores ``.'' y ``- ''
 El operador ( )
 El operador [ ]
Referencia: http://luzumisu.over-
blog.com/article-28322968.html

Mais conteúdo relacionado

Mais procurados (18)

C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Script de Punteros a Funciones
Script de Punteros a FuncionesScript de Punteros a Funciones
Script de Punteros a Funciones
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
Swrewer nuevo hoy
Swrewer nuevo hoySwrewer nuevo hoy
Swrewer nuevo hoy
 
Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmo
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Punteros
PunterosPunteros
Punteros
 
Sesion1 Php Basico
Sesion1 Php BasicoSesion1 Php Basico
Sesion1 Php Basico
 
Ap7 java2
Ap7 java2Ap7 java2
Ap7 java2
 
JavaScript funciones
JavaScript funcionesJavaScript funciones
JavaScript funciones
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Uso de operadores
Uso de operadoresUso de operadores
Uso de operadores
 
UTN tipo de dato short
UTN tipo de dato shortUTN tipo de dato short
UTN tipo de dato short
 
INTEGRALES..docx
INTEGRALES..docxINTEGRALES..docx
INTEGRALES..docx
 
calculadora en c sharp
calculadora en c sharpcalculadora en c sharp
calculadora en c sharp
 

Destaque

คำถามในการเยี่ยมสถานที่ Site visit questions
คำถามในการเยี่ยมสถานที่ Site visit questions คำถามในการเยี่ยมสถานที่ Site visit questions
คำถามในการเยี่ยมสถานที่ Site visit questions maruay songtanin
 
Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Atner Yegorov
 
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS GmbH
 
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Martin Szugat
 
Необходимая документация в SMM
Необходимая документация в SMMНеобходимая документация в SMM
Необходимая документация в SMMDPR
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉cheuk1991
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉cheuk1991
 
Mgmt – time to pretend
Mgmt – time to pretendMgmt – time to pretend
Mgmt – time to pretendkevenjordam
 

Destaque (12)

คำถามในการเยี่ยมสถานที่ Site visit questions
คำถามในการเยี่ยมสถานที่ Site visit questions คำถามในการเยี่ยมสถานที่ Site visit questions
คำถามในการเยี่ยมสถานที่ Site visit questions
 
Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010
 
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
 
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
 
Qué es un virus informático
Qué es un virus informáticoQué es un virus informático
Qué es un virus informático
 
MatchKracht kort
MatchKracht kortMatchKracht kort
MatchKracht kort
 
Prospect Management Consultants - Company Profile
Prospect Management Consultants - Company ProfileProspect Management Consultants - Company Profile
Prospect Management Consultants - Company Profile
 
Необходимая документация в SMM
Необходимая документация в SMMНеобходимая документация в SMM
Необходимая документация в SMM
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉
 
18091301
1809130118091301
18091301
 
Mgmt – time to pretend
Mgmt – time to pretendMgmt – time to pretend
Mgmt – time to pretend
 

Semelhante a Tipos de operadores

Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++luzgaray6
 
Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++luzgaray6
 
Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++luzgaray6
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-SENA
 
Programación en c++
Programación en c++Programación en c++
Programación en c++andermijan
 
Tema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfTema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfLizbethTito2
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsVisual Engineering
 
Practica 13 alice
Practica 13 alicePractica 13 alice
Practica 13 aliceAquino1912
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)ArmandoC42
 

Semelhante a Tipos de operadores (20)

Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++
 
Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++
 
Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Practica alice p13 v1
Practica alice p13 v1Practica alice p13 v1
Practica alice p13 v1
 
PRACTICA 13 DE ALICE
PRACTICA 13 DE ALICEPRACTICA 13 DE ALICE
PRACTICA 13 DE ALICE
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-
 
Taller completo
Taller completoTaller completo
Taller completo
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Tema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfTema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdf
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operators
 
Alice13
Alice13Alice13
Alice13
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
PRACTICA 13 ALICE
PRACTICA 13 ALICEPRACTICA 13 ALICE
PRACTICA 13 ALICE
 
Practica 13 alice
Practica 13 alicePractica 13 alice
Practica 13 alice
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)
 

Mais de Rosario Garcia Ruiz (20)

Rubrica evaluar
Rubrica evaluar Rubrica evaluar
Rubrica evaluar
 
rubrica
rubrica rubrica
rubrica
 
Lista de cotejo_para_mapa_mental_1.s.g.r
Lista de cotejo_para_mapa_mental_1.s.g.rLista de cotejo_para_mapa_mental_1.s.g.r
Lista de cotejo_para_mapa_mental_1.s.g.r
 
la programación orientada a objetos
la programación orientada a objetosla programación orientada a objetos
la programación orientada a objetos
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
preguntas examen
preguntas examen preguntas examen
preguntas examen
 
tutotial netbeans
tutotial netbeanstutotial netbeans
tutotial netbeans
 
Cuestionario
Cuestionario Cuestionario
Cuestionario
 
Comandos de java
Comandos de javaComandos de java
Comandos de java
 
Tablas de verdad_programacion
Tablas de verdad_programacionTablas de verdad_programacion
Tablas de verdad_programacion
 
50 codigos en word
50 codigos en word50 codigos en word
50 codigos en word
 
50.codigos.word
50.codigos.word50.codigos.word
50.codigos.word
 
50 c++ codigos
50 c++ codigos50 c++ codigos
50 c++ codigos
 
Tablas de verdad_programacion2_2_2
Tablas de verdad_programacion2_2_2Tablas de verdad_programacion2_2_2
Tablas de verdad_programacion2_2_2
 
50.diagramas.flujoo.
50.diagramas.flujoo.50.diagramas.flujoo.
50.diagramas.flujoo.
 
50.c++.codigos
50.c++.codigos50.c++.codigos
50.c++.codigos
 
50 Diagramas.DulceV
50 Diagramas.DulceV50 Diagramas.DulceV
50 Diagramas.DulceV
 
Tipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquezTipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquez
 
C docx22 (1)
C docx22 (1)C docx22 (1)
C docx22 (1)
 
Tablas de verdad_programacion2 (1)
Tablas de verdad_programacion2 (1)Tablas de verdad_programacion2 (1)
Tablas de verdad_programacion2 (1)
 

Último

SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 

Último (20)

Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

Tipos de operadores

  • 1.
  • 2. ¿Qué es un operador? Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta, multiplicación, etc) y que recibe sus argumentos de manera infija, en el caso de tener 2 argumentos de manera prefija o postfija, en el caso de tener uno solo ( , o bien, ). Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la siguiente tabla se muestran los operadores de los que disponemos en C y su función asociada. Operadores aritméticos OperadorAcción Ejemplo - Resta x = 5 + 3; // x vale 2 + Suma x = 2 - 3; // x vale 5 * Multiplicaciónx = 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
  • 3. Al igual que en matemáticas,estos operadoresnos permitirán evaluar las relaciones (igualdad, mayor, menor, etc) entre un par de operandos (en principio, pensemosen números). Los operadores relacionales de los que disponemosen C son: El resultado de cualquier evaluación de este tipo, es un valor ``cierto'' (true) o ``falso'' (false). La mayoría de lenguajes tienen algún tipo predefinido para representarestos valores (boolean, bool, etc); sin embargo en C, se utilizan valores enteros para representar esto: Operadores lógicos Operador Acción > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual != Distinto falso (false) 0 cierto (true) cualquier valor distinto de 0, aunque normalmente se usará el 1
  • 4. Como operadores lógicos designamos a aquellos operadores que nos permiten ``conectar'' un par de propiedades (al igual que en lógica): numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /* Ejecutaremos este código si numero */ /* es primo y numero es mayor que 100 */ } Los operadores lógicosde los que disponemos enC son los siguientes: Operadores lógicos. Al igual que con la igualdad hay que tener especial cuidado con los operadores && y , ya que si ponemos sólamente un & o un , nos estamos refiriendo a un ``and'' o un ``or'' a nivel de bit, por lo que el código puede que no haga lo que queremos (o que algunas veces lo haga y otras veces no). OperadorAcción && Conjunción (Y) || Disyunción (O) ! Negación
  • 5. En determinadas ocasiones nos puede interesar manipular datos a nivel de bit; por ejemplo activar o desactivar flags. Un flag es una ``variable'' que puede tomar 2 valores, por lo que se suele representar con un bit. Debido a que en C (y en la mayoría de lenguajes de programación) no existen tipos predefinidos de un bit, lo que se suele hacer es agrupar varios flags en una variable de tipo entero (``short int'', ``int'' o lo que queramos). Para acceder a estos flags o simplemente para activarlos es necesario utilizar operadores a nivel de bit. Veámoslo en un ejemplo. La llamada al sistema ``open'' (en POSIX) necesita que se le especifique que hacer con el fichero a abrir: crearlo si no existe, sobreescribirlo si existe, no sobreescribirlo, etc. int open(const char *path, int flags); //Donde: // path --> indica el path de donde se encuentra el fichero // flags --> indica lo que queremos hacer con el fichero ... // //Flags puede ser: // O_CREAT Si el fichero no existe, será creado. // O_EXCL Cuando se combina con O_CREAT, se considerará un // error que el fichero ya exista. // O_TRUNC Si el fichero ya existe, será truncado. // O_APPEND El fichero se abrirá en modo de sólo-añadir. // O_NONBLOCK El fichero se abre en modo no bloqueante. // ... Si queremos abrir el fichero ``/tmp/tutorial_c.txt'' en modo lectura y que se pueda escribir al final del mismo pondremosint fd; fd = open ("/tmp/tutorial_c.txt", O_CREAT | O_APPEND ); // también lo podríamos hacer "a pelo": // open ("/tmp/tutorial_c.txt", 0x440) write(fd, "Hola mundo...n", 14); close (fd); Aunque normalmente no se suelen utilizar, es bueno conocer como actúan estos operadores y de cuales disponemos.
  • 6. Operadores a nivel de bit OperadorAcción & AND a nivel de bit. OR a nivel de bit. XOR a nivel de bit. Complemento. >> Desplazamiento a la izquierda. << Desplazamiento a la derecha. A continuación describiremos cada uno de estos operadores brevemente. DEFINICIÓN: El operador AND (&): El operador AND compara dos bits; si los dos son 1 el resultado es 1, en otro caso el resultado será 0. Ejemplo: c1 = 0x45 --> 01000101 c2 = 0x71 --> 01110001 --------------------------- c1 & c2 = 0x41 --> 01000001 DEFINICIÓN: El operador OR ( ): El operador OR compara dos bits; si cualquiera de los dos bits es 1, entonces el resultado es 1; en otro caso será 0. Ejemplo: i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 | i2 = 0x57 - -> 01010111
  • 7. DEFINICIÓN: El operador XOR ( ): El operador OR exclusivo o XOR, dará como resultado un 1 si cualquiera de los dos operandos es 1, pero no los dos a la vez. Ejemplo: i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 ^ i2 = 0x14 --> 00010100 DEFINICIÓN: El operador de complemento ( ): Este operador devuelve como resultado el complemento a uno del operando: c = 0x45 --> 01000101 ---------------------- ~c = 0xBA --> 10111010 DEFINICIÓN: Los operadores de desplazamiento a nivel de bit (<< y >>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. Veamos un ejemplo: c = 0x1C 00011100 c > 1 c = 0x38 00111000 c < 2 c = 0x07 00000111
  • 8. último describiremos los operadores que nos faltan:  El operador de asignación  El operador ternario ?  Los operadores & y * (unarios)  El operador sizeof  El operador cast  El operador coma ``,''  Los operadores ``.'' y ``- ''  El operador ( )  El operador [ ] Referencia: http://luzumisu.over- blog.com/article-28322968.html