code: public int hgetbits(int N)
     {
     	 totbit += N;
  	 
  	 int val = 0;
  	 
  	 int pos = buf_byte_idx;
  	 if (pos+N < BUFSIZE)
  	 {
  		while (N-- > 0)
  		{
  			val <<= 1;
  			val |= ((buf[pos++]!=0) ? 1 : 0);		 
  		}
  	}
  	 else
  	 {	 
  		 while (N-- > 0)
  		{
  			 val <<= 1;			 
  			 val |= ((buf[pos]!=0) ? 1 : 0);
  			 pos = (pos+1) & BUFSIZE_MASK;
  		}		 
  	 }	
  	 buf_byte_idx = pos;
  	 return val;
     }
docs: Read a number bits from the bit stream.
  @param N the number of