这段代码应该怎么去理解呢

PARITY Parity(unsigned char* buf, int iBufLen)
{
    int countones = 0;
    int i;
    int j;
    unsigned char iMask = 0x80;
    for (i = 0; i < iBufLen; i++)
    {
        
        for (j = 0; j < 8; j++)
        {

            if (*buf & iMask)
            {
                countones++;
            }
        }
        if (iMask == 0)
        {
            iMask = 0x80;
        
            buf++;
        }
    }
    if (countones % 2 == 0)
    {
        return(PAR_EVEN);
    }
    else if (countones % 2 == 1)
    {
        return(PAR_ODD);
    }
    else
    {
        return(PAR_ERROR);
    }

    if (*buf & iMask)
    {
        countones++;
    }
    iMask = iMask >> 1;
}

这有点像我之前问过的代码,判断even odd那块懂了但其他的不是特别清楚

代码没贴全,你本意是干嘛?判断一个数是奇数还是偶数么