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

variable |= 1 << (contador -1)

Estas en el tema de variable |= 1 << (contador -1) en el foro de C/C++ en Foros del Web. Hola! ¿podríais explciarme que hace esta operación? variable |= 1 << (contador -1) Un saludo....
  #1 (permalink)  
Antiguo 21/12/2011, 11:20
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
variable |= 1 << (contador -1)

Hola! ¿podríais explciarme que hace esta operación?

variable |= 1 << (contador -1)

Un saludo.
  #2 (permalink)  
Antiguo 21/12/2011, 12:03
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: variable |= 1 << (contador -1)

Pone en uno el bit numero "contador-1" empezando a contar desde el cero.

Saludos
  #3 (permalink)  
Antiguo 22/12/2011, 04:12
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: variable |= 1 << (contador -1)

Sam no lo he entendido, lo siento. ¿Podrías detallarme un poco más?
  #4 (permalink)  
Antiguo 22/12/2011, 04:13
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: variable |= 1 << (contador -1)

Ahora si, gracias xD
  #5 (permalink)  
Antiguo 22/12/2011, 07:53
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: variable |= 1 << (contador -1)

Sam, ¿qué diferencia habría en el resultado si en lugar de tener |= tenemos sólo =?

Es decir,

variable = 1 << (contador -1)

Antes el bit "contador -1" se ponía a 1, respetando el resto de bits. ¿Pero ahora?
  #6 (permalink)  
Antiguo 22/12/2011, 13:04
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: variable |= 1 << (contador -1)

Ahora hay una signacion. Vos al uno en binario (1) lo corres contador-1 veces. Entonces te queda 2 ^ (contador-1). Como asignas el resultado final es ese.

Etiquetas: contador, 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 18:48.