Два знака равенства в одной строке?

Не могли бы кто-нибудь объяснить, что это делает и как это законный код C? Я нашел эту строку в этом коде: http://code.google.com/p/compression-code/downloads/list , которая является реализацией C алгоритма Виттера для адаптивного кодирования Хаффмана.

ArcChar = ArcBit = 0;

Из функции:

void arc_put1 (unsigned bit)
{
    ArcChar <<= 1;

    if( bit )
        ArcChar |= 1;

    if( ++ArcBit < 8 )
        return;

    putc (ArcChar, Out);
    ArcChar = ArcBit = 0;
}

ArcChar - это int , а ArcBit - это символ без знака

17
задан user807566 30 August 2011 в 13:40
поделиться