{"id":9,"date":"2007-07-09T18:15:55","date_gmt":"2007-07-09T16:15:55","guid":{"rendered":"http:\/\/www.hermione.de\/blog\/?p=9"},"modified":"2008-05-27T23:24:52","modified_gmt":"2008-05-27T21:24:52","slug":"bit-auswertung","status":"publish","type":"post","link":"http:\/\/blog.hermione.de\/?p=9","title":{"rendered":"Flags und Bit-Auswertung"},"content":{"rendered":"<p><strong>Verwendungszweck:<\/strong><br \/>\n<strong>Ein Objekt (x) geh\u00f6rt mehreren Kategorien (n) an<\/strong><br \/>\n<em>$n<\/em><br \/>\n<em>$byte = (int) ($n\/32)<\/em> [=&gt; 0,1, &#8230;]<br \/>\n<em> $bit = $n%32<\/em> [Divisionsrest]<\/p>\n<p>$query = &#8222;select .. from .. where .. (svc$byte &amp; (1&lt; &lt;$bit)= (1&lt;&lt;$bit)&#8220;<\/p>\n<p>1&lt; &lt;$bit = 2 ^ $bit<\/p>\n<p>2^31 ist negativ in php deshalb Umweg!<\/p>\n<table>\n<tbody>\n<tr>\n<td>n<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>2^n<\/td>\n<td>1<\/td>\n<td>2<\/td>\n<td>4<\/td>\n<td>8<\/td>\n<td>16<\/td>\n<\/tr>\n<tr>\n<td>x=6<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>x=9<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Abfrage ob das bit in $x gesetzt ist: <\/strong><em>if ($x &amp; (1 &lt; &lt; $n)) {&#8230;}<\/em><\/p>\n<p><strong>Bit n in einem best. $x setzten: <\/strong><em>$x |= (1 &lt; &lt; $n)) <\/em><\/p>\n<hr \/>\n<p> <strong>Beispiel: Uniqueitems (perl und javascript)<\/strong><br \/>\nEin Item kann mehreren Kategorien (n) angeh\u00f6ren. 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 &#8222;ob das n im x steckt&#8220;. [Details siehe Quelltext]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Verwendungszweck: Ein Objekt (x) geh\u00f6rt mehreren Kategorien (n) an $n $byte = (int) ($n\/32) [=&gt; 0,1, &#8230;] $bit = $n%32 [Divisionsrest] $query = &#8222;select .. from .. where .. (svc$byte &amp; (1&lt; &lt;$bit)= (1&lt;&lt;$bit)&#8220; 1&lt; &lt;$bit = 2 ^ $bit 2^31 ist negativ in php deshalb Umweg! n 0 1 2 3 4 2^n 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts\/9"}],"collection":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":0,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}