Foros del Web » Programación para mayores de 30 ;) » C/C++ »

variable &= ~ (1 << num);

Estas en el tema de variable &= ~ (1 << num); en el foro de C/C++ en Foros del Web. ¿podéis aclararme esa operacion? se que (1<<num) es que sube a 1 el bit correspondiente a la posición num empezando por la izquierda. gracias....
  #1 (permalink)  
Antiguo 19/01/2012, 05:55
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
variable &= ~ (1 << num);

¿podéis aclararme esa operacion?

se que (1<<num) es que sube a 1 el bit correspondiente a la posición num empezando por la izquierda.

gracias.
  #2 (permalink)  
Antiguo 19/01/2012, 08:47
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: variable &= ~ (1 << num);

empezamos con un 1: supongamos que num vale 3
00000001
(1 << num) = 00001000

Luego se le hace un not (~):

11110111

Luego se hace un and junto a "variable". Como son todos uno menos la cuarta posicion dejara a todos como estaban menos la cuarta posicion que si o si va a ser cero. Si tenes dudas con esto verifica la tabla de verdad del AND.

Saludos

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:53.