Apuntes sobre Operadores Aritméticos en C¶
Introducción a los Operadores Aritméticos¶
Con un entendimiento básico de los tipos enteros en C, podemos explorar cómo estos tipos de variables se manipulan mediante operadores aritméticos. Estos operadores permiten realizar operaciones matemáticas como suma, resta, multiplicación, división y módulo. A continuación, se detalla cada operador con ejemplos.
Suma¶
El operador de suma es el más común y se representa con el símbolo +. Permite sumar dos valores enteros.
Ejemplo¶
En este ejemplo, se suman las variables op1 y op2, y el resultado se almacena en la variable result.
Resta¶
El operador de resta se representa con el símbolo -. Resta el valor de una variable de otra.
Ejemplo¶
Aquí, el valor de op2 se resta de op1, y el resultado se guarda en result.
Multiplicación¶
El operador de multiplicación se representa con el símbolo *. Multiplica dos valores enteros.
Ejemplo¶
unsigned int op1 = 0x100; // 256 en decimal
unsigned int op2 = 2;
unsigned int result = op1 * op2; // result = 512
En este caso, se multiplica op1 por op2, y el resultado se almacena en result.
División¶
El operador de división se representa con el símbolo /. Divide un valor entero por otro.
Ejemplo¶
unsigned int op1 = 0x100; // 256 en decimal
unsigned int op2 = 2;
unsigned int result = op1 / op2; // result = 128
Aquí, op1 se divide entre op2, y el resultado se guarda en result.
Nota: Dividir por cero es una operación inválida y, en sistemas como Linux, genera una señal SIGFPE (error/excepción).
Módulo¶
El operador de módulo se representa con el símbolo % y calcula el resto de una división entre dos números.
Ejemplo¶
unsigned int op1 = 0x100; // 256 en decimal
unsigned int op2 = 2;
unsigned int result = op1 % op2; // result = 0
El módulo es útil para limitar un número dentro de un rango específico. Por ejemplo, el siguiente código asegura que no se acceda fuera de los límites de un arreglo:
int numbers[16] = {};
for (int i = 0; i < 100; i++) {
numbers[i % 16] += 1; // Incrementa el elemento correspondiente
}
En este caso, el operador % garantiza que el índice i se mantenga dentro del rango de 0 a 15, recorriendo el arreglo numbers varias veces sin desbordar sus límites.
Conclusión¶
Los operadores aritméticos en C (+, -, *, /, %) son herramientas esenciales para manipular tipos enteros. Comprender su funcionamiento, incluyendo casos especiales como la división por cero o el uso del módulo para controlar rangos, es fundamental en la programación de bajo nivel, especialmente en contextos como la explotación de binarios.