manipulaçao de bits

1 resposta
A

meu professor passou o seguinte exercicio

“Faca um programa para gerenciar a reserva de passagens de uma empresa de onibus durante um mes
inteiro. Sabe-se que um mes possui d dias, que a empresa possui n linhas de onibus e que cada onibus
pode transportar no maximo p pessoa.”

ele me disse para fazer uma matriz de inteiros onde a as linhas da matriz = numeros de linhas de onibus e colunas = dias do mes;

no caso entao eu faria:

int [][] matriz = new int [l][d];

e falou para usar a manipulaçao de bits para os lugares…

por exemplo
no dia 11, na linha 6 devera ter um numero, cujo valor maximo sera 2^quantidade de lugares em cada onubis;

de for 8 lugares por exemplo o valor maximo ali devera ser 2x2x2x2x2x2x2x2 = 256, significando q todos os lugares estam ocupados
ou ilustradamente 1 1 1 1 1 1 1 1 em todas as posiçoes do bit.

caso eu tenha apenas o lugar 3 ocupado eu devo ter a seguinte representação:
0 0 0 0 0 1 0 0 certo?

porem nao estou sabendo como manipular o bit para colocar 1 ou zera em determinada posicao (lugar)…

se alguem entender o que disse… vc pode me explicar como fazer ou pelo menos tentar???

1 Resposta

jefersoncoli

Bom dia!

para colocar 1 no local desejado faça um “OU” com o bit desejado em 1 e para colocar zero faça um"E" com o bit desejado em 0.

abs,

Criado 29 de setembro de 2008
Ultima resposta 30 de set. de 2008
Respostas 1
Participantes 2