Está en la página 1de 6

Ventajas de operadores aritméticos

Programas más compactos, elegantes y fáciles de leer.


Código compilado más rápido y eficiente.
Decremento (-) comportamiento similar a operador incremento, con decremento de 1 al
valor da la variable.
NOTAS
Para operaciones aritméticas básicas, la operación mixta entre operandos de tipo entero
y punto flotante da un resultado en punto flotante. El entero que intervenga en esta
operación se convierte en punto flotante, antes de realizar la operación.
No importa la modalidad escogida, cuando se realiza el operador de incremento o
decremento en solitarios de una sentencia, por ejemplo:
Las siguientes sentencias son equivalentes: ++talla;
talla++;
Abreviaturas. Operadores de actualización de la variable que simplifican la escritura de
ciertas sentencias de asignación.
Son una combinación de los operadores aritméticos binarios con el operador de
asignación (=).
La forma general de las abreviaturas es:
Variable operador = expresión;
donde
-variable utilizando el valor de la expresión se actualiza, de acuerdo a la
operación indicada por el operador binario.
-operador en este caso, aritmético, también puede ser operador lógico.
Ejemplo:

Estoy operadores producen un código de máquina más eficiente y compacto.


Operadores relacionales
Estos operadores en lenguaje C se utilizan para hacer cooperaciones entre valores del
mismo tipo como: enteros, punto flotante y caracteres. Estos operadores operan de
izquierda a derecha.
Los operadores relacionales son los siguientes.
OPERADOR ACCIÓN
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual que
¡= Diferente que
Observaciones de los operadores relacionales:
ASCII se emplea para comparación de caracteres
Cadenas de caracteres no se pueden comparar
Para comparar números de punto flotante se usan únicamente los operadores < y >,
porque dos números de punto flotante no pueden ser necesariamente iguales, cuando
son resultado de operaciones aritméticas, debido a errores de redondeo o truncamiento,
En lenguaje C es verdadero cualquier valor diferente de 0 y falso el valor 0
Las expresions que utilizan los operadores relacionales devuelven el valor de 1 en caso
de verdadero y 0 en caso de falso.
Ejemplo.
3>5 el resultado es 0
2==9 el resultado es 0
‘x’>0 el resultado es 1 /*Compara el ordinal de x con 0*/

Operadores Lógicos
Combinan dos o más expresiones de relación. En lenguaje C esxisten tres operadores
lógicos, los cuales son los siguientes;
OPERADOR ACCIÓN
&& AND
11 OR
¡ NOT
Los operadores lógicos producen un resultado verdadero (1) o falso (0), como se puede
ver en la siguiente tabla.
p q p&&q p11q ¡p
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
donde:
1, es verdadero
0, es falso
En lenguaje C se garantiza las expresiones lógicas se evalúen de izquierda a derecha.
También se garantiza que tan pronto se encuentre un elemento que invada la expresión
completa, cesa la evaluación de la expresión. Por ejemplo:
Al evaluar la siguiente expresión:
Numero ¡=0 &&12 / numero>=0
Si número tiene un valor de 0, la sobrexpresión izquierda al operador && es falsa y por
ende toda la expresión es falsa, por lo que el resto de la misma no se evalúa, evitándose
una división por cero. De igual forma se cumple para el operador ll: basta el primero
operando sea verdadero para obtener la verdad.
Operadores a Nivel de Bits
Ya que el lenguaje C fue diseñado para sustituir al lenguaje ensamblador en muchas
tareas de programación, cubre todas las operaciones que se pueden hacer en
ensamblador.
Las operaciones a nivel bits tratan de la comprobación, asignación o desplazamiento de
los bits individuales que componen un byte o una palabra de memoria, que a su vez
corresponden a los tipos estándar del lenguaje C: char e int con sus variantes.
Las operaciones a nivel de bits no pueden ser usados sobre los tipos: float, doublé, long
doublé y void.
OPERADOR ACCIÓN
& AND
l OR
ˆ OR exclusiva (XOR)
~ Complemento a 1 (NOT)
>> Desplazamiento a la derecha
<< Desplazamiento a la izquierda

Los operadores AND, OR y NOT a nivel de bits están regidos por las mismas tablas de
verdad que sus equivalentes lógicos, pero trabajan bit a bit.
La tabla de verdad del operador XOR. A continuación.
p q p ˆ q
0 0 0
0 1 1
0 0 1
0 1 0

Las operaciones sobre bits son usadas con frecuencia en aplicaciones de controladores
de dispositivos, tal como en programas para modems, rutinas de archivos de disco y
rutonas de impresora. Ya que permiten enmarcar ciertos bits, como puede ser el bit de
pariedad.
Descripción de cada operador:
Operación AND, pone los bits a cero, pues cualquier bit que esté a cero en un operando
hará que el correspondiente bit de la variable se ponga en cero.
Ejemplo. 5&127 seria:
00000101 (5)
& 01111111 (127)
00000101

Operación OR. pone los bits a uno, pues cualquier bit que esté a uno en un operando
hará que el correspondiente bit de la variable se ponga a uno.
10000000 (128)
& 00000011 (3)
00000011
Operación XOR. pone los bits a uno, cuando los bits de los operadores son distintos.
01111111 (127)
& 01111000 (120)
00000111

Operación NOT. (complemento a 1) cambia el estado de cada bit en la variable


especificada, o sea, los unos los pone en cero y los ceros en uno. Ejemplo.
~ 01111011 (123)
10000100

Las operaciones de desplazamiento, >> y <<, mueven todos los bits de una variable a la
derecha o a la izquierda, respectivamente.
 La expresión de desplazamiento a la derecha es:
variable >> número de posiciones en bits
 La expresión de desplazamiento a la izquierda es:
variable << número de posiciones en bits
un desplazamiento no puede ser una rotación, ya que lis bits que salen por un extremo
se pierden, es decir, no se introducen por el otro extremo, ya que a medida que los bits
se desplazan hacia un extremo, se van rellenando con ceros por el extremo opuesto.
Las operaciones de desplazamiento de bits pueden utilizarse para llevar a cabo
operaciones muy rápidas de multiplicación y división de enteros, asi:
Un desplazamiento a la izquierda equivale a una multiplicación por 2.
Un desplazamiento a la derecha equivale a una división por 2.
Por ejemplo:

Los operadores a nivel de bits son útiles cuando se decodifica la entrada a través de
dispositivos externos, como conversores D/A. también se usa en rutinas para descifrado,
cuando se quiere que el archivo aparezca ilegible. Uno de los métodos más sencillos es
el de complementar cada byte usando el complemento a uno para invertir cada bit del
byte, como ejemplo se tiene el doble complemento en un byte produce el mismo valor:
Byte original: 01011000
Complemento a 1: 10100111
Complemento a 1: 01011000 (Dato original)
Otros operadores
El operador ?:
Es un operador condicional que abrevia a la sentencia de control if-else, y se denomina
“expresión condicional”.
Este operador ternario toma la forma general:
Expresión1 ? Expresion2 : Expresión3
Si Expresión1 es verdadera (distinta de cero) la expresión total toma el valor de
Expersion2.
Si Expresión1 es verdadera (igual de cero) la expresión total toma el valor de
Expersion3.
Por ejemplo, calcular el valor absoluto de un número entero:
X=(y<0) ? -y : y;
 Si y < 0, entonces x toma el valor de -y.
 Si y >= 0, entonces x toma el valor de y.
Entonces, el operador ?: se usa cuando se tiene una variable que puede tomar dos
valores posibles.
NOTA: Para mejor claridad del programa en lenguaje C, la condición de las sentencias
ca entre paréntesis.
Operadores & y *
Para entender estos operadores se debe conocer lo siguiente:
Un puntero. Dirección de memoria d una variable de cualquier tipo, que se fija en el
momento de la compilación.
En lenguaje C tienen tres funciones básicas:
Proporcionar una rápida forma de referenciar los elementos de un arreglo.
Permiten a las funciones de lenguaje C modificar los parámetros de llamada.
Dan soporte a las listas enlazadas y a otras dinámicas de datos
Variable puntero. Variable declarada para almacenar un puntero a su tipo especificado.
Esta variable debe declararse colocando un * delante del nombre de la variable.
int*m, cont, q;
donde: m es una variable puntero a entero, mientras cont y q son variables de tipo int,
Tipo base de del puntero. Tipo de dato al que apunta un puntero, en este caso int.
 Operador de Dirección &.- operador unario que devuelve dirección de
memoria del operador

m = & cont;

 Operador de Indirección *. Es el complementario de &, devuelve el


contenido del operando, que debe ser puntero.
m = & cont;
q = *m: donde q recibe el valor de la dirección de m.

También podría gustarte