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
  @;;

Search the boards