Autor Tema: Máscaras de bits  (Leído 843 veces)

Desconectado 76734556bh

  • Novato
  • *
  • Mensajes: 7
    • Ver Perfil
Máscaras de bits
« en: Diciembre 28, 2011, 09:18:48 pm »
En las soluciones que ofrece la OIE a varios problemas en el apartado de "Materiales<<Soluciones" habla de un concepto que son las máscaras de bits. Por ejemplo, en este problema http://www.olimpiada-informatica.org/?cmd=problema&pbm=detrecursive llamado "Determinante recursivo" habla de ese concepto, y en la solución que ofrece usa lo siguiente en algún momento: ((n)&(1<<(i))).
Alguien me podría decir que viene significando? Gracias.
P.D.: Cambié el post inicial porque me di cuenta que estaba preguntando por dos cosas independientes.
« última modificación: Enero 18, 2012, 11:36:46 pm por 76734556bh »

Desconectado HQH

  • Administrator
  • Miembro Imprescindible
  • *****
  • Mensajes: 1.856
    • Ver Perfil
Re: Máscaras de bits
« Respuesta #1 en: Febrero 03, 2012, 02:44:44 pm »
El & a secas, es un operador logico. Toma los bits de la variables y hace un and con cada uno de ellos a nivel de bit.

Ej: 1011 & 1100 = 1000

El << es el operador de desplazamiento. Desplaza N bits hacia la izquierda

Ejemplo :

10110 , se le aplica el desplazamiento de 2 a la izquierda y queda 1100 (aparecen 2 ceros por la derecha y el 10 se lo come, porque no queda espacio).

Espero te haya ayudado, un saludo.