//original: www.graphics.stanford.edu/~seander/bithacks.html#ParityParallel

#include <stdio.h>

int checkParity(unsigned char a) {
	a ^= a >> 4;
	a &= 0xf;
	return ( 0x6996 >> a ) & 1;
}

// teste, igual o do @user5978    
int main(void) {
    int i = 0;
    for (i=0; i<255;i++) {
        printf(" %d => %d\r\n",i,checkParity( i ) );
    }
    return 0;
}