Comunidad de diseño web y desarrollo en internet online

Còmo saber si un numero es par o impar en AS3 (bit mode)

Citar            
MensajeEscrito el 03 Jul 2008 04:38 am
Leirbag4: Gabriel Frasca

La funciòn a emplear serà la siguiente:

Código :

function isPar(num:int):Boolean
{
   return !(num & 1);
}


¿Còmo funciona? Se enmascara el nùmero (num) entrante a la funciòn para conocer el estado de su primer bit o bit menos significativo (lsb).

Este es el que nos va a decir si el numero es par o impar.

Tabla de valores de ejemplo:

0000 0 par
0001 1 impar
0010 2 par
0011 3 impar
0100 4 par
0101 5 impar

Por ejemplo, si la variable num es igual a 5 (num = 5), haciendole una AND con 1 nos quedaría solo el lsb ya que los demás bits
pasarían a 0 como muestra la siguiente cuenta.



Para nuestra función negamos el resultado para poder devolver TRUE si tenemos un número par y FALSE en el caso de que sea impar.

Empleo de la función:

Código :

var myNum:int= 14;

if(isPar(myNum))
   trace("Es par");
else
   trace("Es impar");

  //Es par




Bueno... espero que les sirva.

Mi site por si quieren investigar: http://www.capivaras.com.ar/ :P

Saludos.

Gabriel Frasca.

Por leirbag4

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Jul 2008 11:47 am
El trabajo a nivel de bit es interesante para trabajos con colores (shift de canales), if complejos, etc, aunque para algo que podría ser resuelto por nro%2==0, suena más a ejercicio inicial de universidad. Gracias igualmente por compartirlo, aunque esperamos aportes de mayor utilidad

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Jul 2008 01:42 am
Ok Jorge. Igualmente yo siempre busco un buen rendimiento antes que nada. Y me pareció que esta era una buena manera de encontrar lo deseado.
De la universidad ya te diré ya que por ahora terminé mis estudios secundarios y en la facu me tengo que comer un año hasta entrar recien en la carrera.

Saludos.

Por leirbag4

3 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.