Duvida de algoritimo

Olá pessoal,

uma duvida como fazer pra ler de volta e saber qual o dia da
semana …

Pois me passaram o seguinte :

0000 0001(base 2) : domingo (1 base 10)
0000 0010(base 2) : segunda-feira (2 base 10)
0000 0100(base 2) : terça-feira (4 base 10)
0000 1000(base 2) : quarta-feira (8 base 10)
0001 0000(base 2) : quinta-feira (16 base 10)
0010 0000(base 2) : sexta-feira (32 base 10)
0100 0000(base 2) : sábado (64 base 10)
1000 0000(base 2) : não utilizado sempre será zero

Quando gravo no banco na base 10 por exemplo a tela
escolhi sexta e sabado :

somo os dois campos que dá 96 e gravo no banco …até aqui beleza

se for ler esse registro como 96 como vou saber se é sexta e sabado

Essa é minha duvida se alguém puder me ajudar agradeceria …

abs

Acho que você vai ter que primeiramente fazer todas as combinações possíveis e, a partir dos números que resultarem, você tem como relacionar.
Por exemplo, você já sabe que fazendo sexta e sábado vai dar 96, então você faz as contas pra achar o resultado de domingo e segunda, domingo e terça, domingo e quarta, e assim sucessivamente para todas as possibilidades.
Acredito então que você tenha que fazer aquela tabela da verdade com os dias da semana usando operação “&”.

Que tal assim :

[code]public class Binario{

public static void main(String [] args){
	String [] days = {"dom","seg","ter","qua","qui","sex","sab"};
	int    [] bits = { 0x1, 0x10, 0x100, 0x1000, 0x10000,0x100000,	0x1000000};

	int data = 0x0010010; // seg e qui


	for(int i=0;i<bits.length;i++)
		if((data & bits[i]) == bits[i]) // and bit-a-bit
			System.out.println("Bit " + days[i] + " Ativo!");

}

}[/code]

Estude as operações bit a bit

Só fazendo uma correção:

int [] bits = { 0x1, 0x2, 0x4, 0x8, 0x10,0x20, 0x40};

cara, com a tua correção só consigo perceber o bit de quinta feira

Mais uma correção

int data = 0x02 | 0x10; // segunda e quinta

Note que 0x é para representar números hexadecimais (base 16), não números binários.