Obliczenie bitu parzystości

0

Witam,
Mam problem z trywialnym zadaniem: chcę obliczyć bit parzystości dla tablicy bajtów.

Rozpocząłem od najprostszego, czyli wykonania XOR na tablicy bajtów:

Cel, sksorować cała tablicę.

    int size = file_data.size();
    char a = 0;
    for(int i = 0; i < size; ++i)
        a ^= file_data[i];

O ile dobrze rozumiem następnym krokiem jest policzenie 1 i na podstawie tego stwierdzenie, czy mamy bit parzystości czy nieparzystości.

W tym celu trzeba policzyć jedynki w zmiennej a. Jak to najprościej xorować?

0

Zobacz "Counting bits set" tutaj: http://graphics.stanford.edu/~seander/bithacks.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0