sub bitextr { my $bitstring = shift; my $bitnum1 = shift; my $bitnum2; #Swap the indices if they are high-low if( $bitnum1 > $bitnum2 ) { ($bitnum1, $bitnum2 ) = ($bitnum2, $bitnum1 ); } my $size = ($bitnum2-$bitnum1+1); print STDERR "size is $size\n"; my $mask = ("1"x$size); print STDERR "mask is $mask\n"; $mask = unpack( "N*", pack( "B$size", $mask )); print STDERR "mask is $mask\n"; return (($bitstring >> $bitnum1) & ($mask)); } [download]
www.com | www.net | www.org
No recent polls found