1
« en: Miércoles 12 de Febrero de 2014, 01:04 »
Buenas noches. Tengo una duda en relación al código fuente que facilita un amigo anteriormente. El codigo fuente es el siguiente: #include<iostream>
#include <stdlib.h>
int potencia(int b,int e){
int i;
int pot=1;
for(i=1;i<=e;i++){
pot=pot*b;
}
return pot;
}
int main(){
int i,j,limite;
std::string A[100];
std::cout<<"Ingrese el numero de elementos del conjunto"<<"\n";
std::cin>>limite;
for(i=0;i<limite;i++){
std::cout<<"Ingrese el elemento: "<<i+1<<" ";
std::cin>>A;
}
for(i=0;i<potencia(2,limite);i++){
for(j=0;j<limite;j++){
if(i & (1<<j))
std::cout<<A[j];
}
std::cout<<"\n";
}
system("pause");
return 0;
}
Mi duda, o mas bien pregunta, es que significa la instrucción if(i & (1<<j)). Gracias por la ayuda.