Flags und Bit-Auswertung
2007-07-9 | 6:15 pm | Kein Kommentar »
Verwendungszweck:
Ein Objekt (x) gehört mehreren Kategorien (n) an
$n
$byte = (int) ($n/32) [=> 0,1, …]
$bit = $n%32 [Divisionsrest]
$query = „select .. from .. where .. (svc$byte & (1< <$bit)= (1<<$bit)“
1< <$bit = 2 ^ $bit
2^31 ist negativ in php deshalb Umweg!
n | 0 | 1 | 2 | 3 | 4 |
2^n | 1 | 2 | 4 | 8 | 16 |
x=6 | 0 | 1 | 1 | 0 | 0 |
x=9 | 1 | 0 | 0 | 1 | 0 |
Abfrage ob das bit in $x gesetzt ist: if ($x & (1 < < $n)) {…}
Bit n in einem best. $x setzten: $x |= (1 < < $n))
Beispiel: Uniqueitems (perl und javascript)
Ein Item kann mehreren Kategorien (n) angehören. Im perlscript, das das html erzeugt, wird jedes Item seinen Kategorien zugeordenet (das x wird erzeugt). Spaeter im html kann die Kategorie ausgewaehlt werden. Der javascript code sorgt dafuer, dass nur noch die Items dieser Kategorie angezeigt werden, d.h. es wird geschaut „ob das n im x steckt“. [Details siehe Quelltext]
Sag etwas dazu: