Duda con el seteo de un bit en un int.

Started by Erkosone, June 06, 2013, 06:39:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Erkosone

Buenas, tengo una duda, haber si alguien experimentado puede ayudarme, estoy intentando setear un bit de una variable INT a 0|1 pero no lo consigo con la formula tradicional de C, tengo unas funciones que lo hacen en C pero no me funcionan, supongo que en bennu hay que hacerlo de una manera similar pero no igual..


Alguien puede ponerme un ejemplo de como setear un bit a 0 o 1 de un INT?


Esto es para un nuevo tutorial de la PhysicsMotionAPI donde voy a explicar como se usan los layers en chipmunk y como hay que hacer para aprobecharlos, pero no puedo setear los bits de la variable 'LPHYSICS.LAYERS' correctamente.


Gracias de antemano.

laghengar

http://wiki.bennugd.org/index.php?title=Bit_flags

He visto esto, no se si te ayudará, yo me he tirado 10 minutos leyéndolo y no me he enterado de nada. Suerte.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Rein (K´)ah Al-Ghul

No deberias sumar el valor del bit (1,2,4,8,etc) ?
y para consultaro usar el and, or, xor binario...

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Erkosone

Quote from: laghengar on June 06, 2013, 07:38:18 PM
http://wiki.bennugd.org/index.php?title=Bit_flags

He visto esto, no se si te ayudará, yo me he tirado 10 minutos leyéndolo y no me he enterado de nada. Suerte.


Gracias lagengar, lo había visto pero pensaba que no era lo que necesitaba, pero ahora al releerlo si que me he dado cuenta de que muestra los ejemplos de como acceder a los BITS con operadores binarios.


Gracias por abrirme los ojos jeje.. voy a grabar el vídeo de los layers y a colgar el nuevo tutorial de chipmunk en bennu, creo que esto le va a interesar a mas de uno.. muestra como atravesar plataformas durante un salto ;)


Gracias de nuevo, es justo lo que necesitaba para añadir esto al api de física:



//.............................................................
//......................LAYER SETTER...........................
//.............................................................
function Physics_entity_set_layer(int id_, int layer_, int status_);
begin
    if (status_)
      id_.lphysics.layers|= 1<<layer_;
   else
      id_.lphysics.layers&= ~(1<<layer_);
   end   
   return(0);
end
//.............................................................
//......................LAYER GETTER...........................
//.............................................................
function Physics_entity_get_layer( int id_, int layer_ );
begin
    if( (id_.lphysics.layers&(1<<layer_)) == 0 )
      return(false);
   else
      return(true);
   end
end
//......................LAYER RESET............................
function Physics_entity_reset_layers();
begin
   father.lphysics.layers = 0;
   return(0);
end
//.............................................................

laghengar

!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O