Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


1.6 - Operaciones aritméticas básicas

1.6.1. Operadores aritméticos

Como hemos visto (y como era de esperar), el símbolo de la suma es "+", y podemos imaginar cual será el símbolo de la resta... pero alguna de las operaciones matemáticas habituales tiene símbolos menos intuitivos. Veamos cuales son los más importantes:

Operador

Operación

+

Suma

-

Resta, negación

*

Multiplicación

/

División

%

Resto de la división (“módulo”)

Un fuente de ejemplo podría ser:

/* Ejemplo en C: operaciones aritméticas - ej010601.c */

#include 
 
int main() 
{
    printf("11 más 2 es %d. ", 11+2);
    printf("11 menos 2 es %d. ", 11-2);
    printf("11 por 2 es %d. ", 11*2);
    printf("11 entre 2 es %d. ", 11/2);
    printf("El resto de dividir 11 entre 2 es %d. ", 11%2);
    return 0;
}

Que tendría como resultado

11 más 2 es 13. 11 menos 2 es 9. 11 por 2 es 22. 11 entre 2 es 5. El resto de dividir 11 entre 2 es 1.
Ejercicio propuesto 1.6.1.1: Crea un programa que calcule el producto de los números 12 y 13.
Ejercicio propuesto 1.6.1.2: Un programa que calcule la diferencia (resta) entre 12345 y 998.
Ejercicio propuesto 1.6.1.3: Un programa que calcule y muestre el resultado de dividir 3765 entre 18 y el resto de esa división.

 

1.6.2. Orden de prioridad de los operadores

Sencillo:

Por ejemplo, este fuente:

/* Prioridad de operadores - ej010602.c */

#include 
 
int main() 
{
    printf("2+3*4=%d. ", 2+3*4);
    printf("(2+3)*4=%d. ", (2+3)*4);
    printf("2+3+4*5=%d. ", 2+3+4*5);
    printf("2+(3+4)*5=%d. ", 2+(3+4)*5);
    return 0;
}

mostraría en pantalla:

11 más 2 es 13. 11 menos 2 es 9. 11 por 2 es 22. 11 entre 2 es 5. El resto de dividir 11 entre 2 es 1.
Ejercicio propuesto 1.6.2.1: Calcula a mano y después comprueba con un programa en C el resultado de -2 + 3 * 5
Ejercicio propuesto 1.6.2.2: Calcula a mano y después comprueba con un programa en C el resultado de (20+5) % 6
Ejercicio propuesto 1.6.2.3: Calcula a mano y después comprueba con un programa en C el resultado de 15 + -5*6 / 10
Ejercicio propuesto 1.6.2.4: Calcula a mano y después comprueba con un programa en C el resultado de 2 + 10 / 5 * 2 - 7 % 1

 

1.6.3. Introducción a los problemas de desbordamiento

El espacio del que disponemos para almacenar los números es limitado. Si el resultado de una operación es un número "demasiado grande", obtendremos un resultado erróneo. Por eso en los primeros ejemplos usaremos números pequeños. Más adelante veremos a qué se debe realmente este problema y cómo evitarlo. Este programa anticipa ya ese problema:

/* Ejemplo de desbordamiento - ej010603.c */

#include 
 
int main() 
{
    printf("1000000*1000000=%d. ", 1000000*1000000);
    return 0;
}

Su resultado podría ser (quizá no exactamente igual en todos los compiladores y sistemas operativos, como veremos) algo como:

1000000*1000000=-727379968.
Ejercicio propuesto 1.6.3.1: Crea un programa que muestre el resultado de multiplicar 20000 por 20000 y luego el de 200000 por 200000.