<?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;
}
?>
|