> For the complete documentation index, see [llms.txt](https://bla0x1s-organization.gitbook.io/untitled-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bla0x1s-organization.gitbook.io/untitled-1/reverse-engineering/c-programming/operadores.md).

# OPERADORES

Los operadores se utilizan para realizar operaciones en variables y valores. Por ejemplo sumar dos numeros:

```c
int num = 100 + 50;
```

En C estan los siguientes tipos de operadores:

* Operadores Aritemeticos
* Operadores de Asignacion
* Operadores de comparacion
* Operadores logicos&#x20;
* Operadores bit a bit

### Opperadores Aritmeticos

Estos se usan para operaciones matematicas comunes:

<table><thead><tr><th width="118">Operador</th><th>Nombre</th><th width="249">Descripcion</th><th>Ejmeplo</th></tr></thead><tbody><tr><td>+</td><td>Sume</td><td>Suma dos valores</td><td>x + y</td></tr><tr><td>-</td><td>Resta</td><td>Resta un valor de otro</td><td>x - y</td></tr><tr><td>*</td><td>Multiplication</td><td>Multiplica dos valores</td><td>x * y</td></tr><tr><td>/</td><td>Division</td><td>Divide</td><td>x / y</td></tr><tr><td>%</td><td>Modulo</td><td>Devuelve el resto de la division</td><td>x % y</td></tr><tr><td>++</td><td>Increment</td><td>Incrementa el valorde la variable a 1</td><td>++x</td></tr><tr><td>--</td><td>Decrement</td><td>Decrementa el valor de la variable a 1</td><td>--x</td></tr></tbody></table>

### Operadores de Asignacion

Los operadores de asignacion se utilizan para asignar valores a las variables.

En el ejemplo, usamos el operador de asignacion = para asignar el valor 10 a una variable llamada x:

```c
int x = 10;
```

El operador de aignacion de suma += agregael valor a una variable:

```c
int x = 10;
x += 5;
```

Veamos un listado de los operadores de asignacion:

| Operador | Ejemplo | Igual que  |
| -------- | ------- | ---------- |
| =        | x = 5   | x = 5      |
| +=       | x += 3  | x = x + 3  |
| -=       | x -= 3  | x = x - 3  |
| \*=      | x \*= 3 | x = x \* 3 |
| /=       | x /= 3  | x = x / 3  |
| %=       | x %= 3  | x = x % 3  |
| &=       | x &= 3  | x = x & 3  |
| \|=      | x \|= 3 | x = x \| 3 |
| ^=       | x ^= 3  | x = x ^ 3  |
| >>=      | x >>= 3 | x = x >> 3 |

### Operadores de Comparacion

Se utilizan para comparar dos valores (o variables). Esto es importante en la programacion, porque nos ayuda a encontrar respuestas y tomar decisiones.

El valor de retorno de una comparacion es 1 o 0, lo que significa verdadero (1) o falso (0). Estos valores se conocen como valores booleanos .

Veamos un ejemplo, donde usamos > para ver si 5 es mayor a 3:

```c
int x = 5;
int y = 3;
printf("%d", x > y);
```

| Operador | Nombre          | Ejemplo |
| -------- | --------------- | ------- |
| ==       | Igual a         | x == y  |
| !=       | No es igual     | x != y  |
| >        | Mayor que       | x > y   |
| <        | Menor que       | x < y   |
| >=       | Mayor o igual a | x >= y  |
| <=       | Menor o igual a | x <= y  |

### Operadores Logicos

Los operadores logicos se utilizan para determinar la logica entre variables o valores:

<table><thead><tr><th width="170">Operador</th><th width="124">Nombre</th><th width="249">Decripcion</th><th>Ejemplo</th></tr></thead><tbody><tr><td>&#x26;&#x26; </td><td>Y</td><td>Devuelve true si ambas son true</td><td>x &#x3C; 5 &#x26;&#x26;  x &#x3C; 10</td></tr><tr><td>|| </td><td>O</td><td>Devuelve true si una es true</td><td>x &#x3C; 5 || x &#x3C; 4</td></tr><tr><td>!</td><td>Not</td><td>Devuelve false si el resultado es true</td><td>!(x &#x3C; 5 &#x26;&#x26; x &#x3C; 10)</td></tr></tbody></table>
