Posted By: vitas (vitas) on 'CZdatabases'
Title: Re: binarni AND
Date: Mon May 23 15:36:26 2005
> Nazdarek.
> K jednomu cloveku mam vic radek, kde kazda pozice znamena jednotlivy den.
> ID mesic
> 1 000010001000001000000111100
> 1 111000000011100000111100000
> 1 000001110000000000000000000
>
> Potreboval bych nejak jednoduse zjistit, jestli se na nektere pozici
> nevyskytuje ve vice zaznamech jednicka. Idealne nejak najednou. Nenapada
> nekoho neco?
Mno nevim jak v databazi, ale v nejakem jazyce by s pouzitim
aritmetiky nula-jedna-moc snad slo.
a,b
0 0 nula
0 1 jedna
1 0 moc
1 1 moc
/* predpokladam ze hodnoty jsou v int x[N] */
int a = 0, b =0;
for(i=0;i<N;i++){
a = (b & x[i]) | a;
b = b | x[i];
}
v *a* je pak jednicka tam, kde byly v x[0..N-1] alespon dve jednicky.
Jestli to jde nejak prepsat do selectu netusim, s *b* by asi nebyl problem,
ale to *a* je diskutabilni.
vitas
@;;