Ver Mensaje Individual
  #9 (permalink)  
Antiguo 26/08/2011, 07:15
Avatar de Raziel_Ravenheart
Raziel_Ravenheart
 
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 13 años, 3 meses
Puntos: 37
Exclamación Respuesta: Generar Tablas: PHP vs Javascript-DOM

Cita:
Otro método para obtener lo mismo que el operador X & 1 es usar el operador X % 2 que devuelve el residuo de la división, es esta es par devuelve 0 y si es impar 1.
Hola HackmanC, muchas gracias por las respuestas sobre las tablas, ya que con esto puedo observar las cosas de un punto más objetivo, en cuanto a la operación

$variable & 1

vs

$variable % 2

Yo creo que aunque tienes razón, la opción a utilizar en cualquier lenguaje que lo permita sería la primera, por que?

Imagina que el número a comparar se algo grande como 1 305 667, suponiendo el uso de red, procesador o cualquier contexto en que se realice dicha operación, cuando se utiliza el módulo(%), aunque no se nota, lo que hace el programa es rápidamente dividir por el segundo número, y por otro lado ten en cuenta que el sistema binario es natural de los pc's, por lo tanto le queda más sencillo convertir cualquier número a binario y luego compararlo con 1, ya que este en todos los sistemas numéricos se auto representa.

Básicamente la operación módulo(%) sirve para calcular el residuo de casi cualquier operación como por ejemplo:

5 % 3 = 2
6 % 4 = 2
7 % 5 = 2
9 % 6 = 3

Por lo tanto significa que utilizar el % para una operación tan simple como averiguar si un número es par o impar, en programadores avanzados, esto significa solo un desperdicio de recursos y procesos, creo, no estoy seguro de lo que estoy diciendo, leeré algo al respecto, ya que solo estoy deduciendolo por la naturaleza de las operaciones que se tienen que llevar a cabo...

algo sencillo de ver es que al ser una comparación booleana bit a bit, si se hace

5 & 2 = 0

Código PHP:
Ver original
  1. 101
  2. 010
  3. ====
  4. 000

y para 6 & 5

Código PHP:
Ver original
  1. 110
  2. 101
  3. ====
  4. 100

lo cual devuelve 4, (que genio, no?)

Solo quería remarcar el hecho que las operaciones bit a bit, están ahí por algo y que deberían ser la opción principal para programadores avanzados, ya por algo pueden ser de gran utilidad.

saludos!