#define XL     33           
#define OR      113          
#define NOR     313     
#define TN     344  
int to_bits(int critn,char *mask)
{
       unsigned int x;
       int begin;
       if (critn < XL)           begin = 1;
       else if (critn < OR)      begin = XL;
       else if (critn < NOR)     begin = OR;
       else if (critn <= TN)    begin = NOR;
       else                        begin = 0;
       x = critn - begin;
       *mask = (char)(0x80 >> (x % 8));
       return (int)(x >> 3);    // fast divide by 8  
}
I don't have any knowledge of C++ code. Can any one explain what this method is doing in the last 2 lines?
Thanks
 
     
     
     
    