<?php function getBit($bytes,$n) { $n=1<<$n; return $bytes & $n; }
function setBit($bytes,$n) { $n=1<<$n; return $bytes | $n; }
function printBits($bytes,$l=8,$d=0) { $b=''; for($i=$l-1;$i>-1;--$i){ if($i!=0 && $d!=0 && $i%$d==0)$b.=' '; if(getBit($bytes,$i))$b.='1'; else $b.='0'; } return $b; }
function printBitsR($bytes,$l=8,$d=0) { $b=''; for($i=0;$i<$l;++$i){ if($i!=0 && $d!=0 && $i%$d==0)$b.=' '; if(getBit($bytes,$i))$b.='1'; else $b.='0'; } return $b; }
function getBitsetInt($bytes,$bitCount,$n){ $x=0; $y=$bytes; for($i=0;$i<$bitCount;++$i){ $x|= (1 << $i); } for($i=0;$i<$n;$i++){ $y=$y >> 1; } return $x & $y; } ?>
|