martes, 18 de febrero de 2014

Qué significa %2 ??


Una pregunta que me hacen en muchas ocasiones es ¿¿qué significa %2??
La respuesta tiene dos acepciones en función de si lo estamos usando en un lenguaje tipo C o en un script de sistema.

* En lenguajes de "alto nivel"
En la mayoría de lenguajes como C,C++ y java el operador % es el operador matemático de módulo (también llamado resto). Es decir, nos dice cual es el resto de la división entera entre dos números.
Si por ejemplo hago 5%2, el resultado será 1, si hago 6%3  el resultado será 0.

La particularidad más importante es que el resultado jamás será más grande que el segundo operador y que si incrementamos paulatinamente el primer operador el resultado será cíclico.
Si por ejemplo hacemos x%3 donde x es una variable que va incrementándose el resultado será: 0,1,2,01,2,01,2,etc...

El operador % se usa bastante para tres cosas:
- Delimitar número aleatorios ( por ejemplo número_random%5 ). Los sistemas de generación de números aleatorios acostumbran a generar números astronomicamente grandes. El operador módulo se usa para delimitar ese rango de resultados a los que nos interesan.

- Realizar operaciones cada cierto número de ciclos (por ejemplo if(!ciclos%100) ). Esto puede hacerse debido a que la operación modulo de una variable que se incrementa paulatinamente vale 0 de forma cíclica. Un ejemplo de esto lo teneis en este link

- Calcular el módulo de un número. Concretamente el módulo 2 (%2) de un número cualquiera nos dice si un número es par o impar como puede observarse en el siguiente link .


*En scripts de sistema (.bat por ejejmplo)
En los .bat el operador módulo seguido de un número ( %2 por ejemplo ) significa la obtención de una variable por parámetro. Para saber más de este tema podéis mirar este link



Espero que os haya servido. Si tenéis más dudas sobre este tema u otros no dudéis en hacermelas llegar.

Nos vemos

LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares